Étant donné un tableau, qui i-ième élément est un stock donné prix i-jour.
Concevoir un algorithme pour calculer le profit maximum que vous pouvez obtenir. Vous pouvez fermer plus d'offres (achat et vente d'un stock), autant que possible.
Remarque: Vous ne pouvez pas participer simultanément dans plusieurs transactions (vous devez vendre avant d'acheter des actions à nouveau avant la chute).
Exemple 1: Entrée: [7,1,5,3,6,4] Sortie: 7
Explication: Jour 2 (stock Prix = 1) lors de l' achat le jour 3 (stock prix = 5), lorsqu'ils sont vendus, cette opération peut tirer profit = 5-1 = 4.
Puis, le jour 4 (stock prix = 3) Lors de l' achat le jour 5 (stock prix = 6), lorsqu'ils sont vendus, cette opération peut tirer profit = 6-3 = 3.
Puis, le jour 4 (stock prix = 3) Lors de l' achat le jour 5 (stock prix = 6), lorsqu'ils sont vendus, cette opération peut tirer profit = 6-3 = 3.
Solution classe {
Publique:
int maxProfit (vector <int> et prix) {
profit = 0 int; int max = 0;
pour (int i = 1; i <prices.size (); i ++)
{
profit = prix [i] -Prix [i-1];
si (bénéfice> 0)
Max = Max + profit;
}
retourner au maximum;
}
};