3.2 Le meilleur moment pour acheter et vendre des actions (2)

3.2 Le meilleur moment pour acheter et vendre des actions

Le titre

Étant donné un tableau, le i-ème élément est le prix du i-ème jour d'un stock donné.
Concevez un algorithme pour calculer le profit maximum que vous pouvez obtenir. Vous pouvez effectuer autant de transactions que possible (achat d'un stock plusieurs fois).
Remarque: Vous ne pouvez pas participer à plusieurs transactions en même temps (vous devez vendre le stock précédent avant de racheter)

Des exemples

Exemple 1:

Entrée: [7,1,5,3,6,4]
Sortie: 7
Explication: Acheter le 2e jour (cours de l'action = 1), vendre le 3e jour (cours de l'action = 5), Cet échange peut faire un profit = 5-1 = 4.
Ensuite, lors de l'achat au 4ème jour (cours de l'action = 3) et de la vente au 5ème jour (cours de l'action = 6), la bourse peut réaliser un profit = 6-3 = 3.

Exemple 2:

Entrée: [1,2,3,4,5]
Sortie: 4
Explication: Achetez le premier jour (cours de l'action = 1), vendez le cinquième jour (cours de l'action = 5), cette somme L'échange peut faire un profit = 5-1 = 4.
Notez que vous ne pouvez pas acheter des actions les unes après les autres le jour 1, puis les revendre plus tard.
Parce que cela implique plusieurs transactions en même temps, vous devez vendre le stock précédent avant de l'acheter à nouveau.

Exemple 3:

Entrée: [7,6,4,3,1]
Sortie: 0
Explication: Dans ce cas, aucune transaction n'est terminée, donc le profit maximum est 0.

code d'algorithme c ++

class Solution {
public:
    int maxProfit(vector<int>& prices) {
  if(prices.size()==0) return 0;
        int profit=0;
       for(int i=0;i<prices.size()-1;i++)  
           if(prices[i+1]>prices[i])
            profit+=prices[i+1]-prices[i];
       return profit;
    }
};

Résultat de l'opération

Insérez la description de l'image ici

Publié 22 articles originaux · loué 0 · visites 300

Je suppose que tu aimes

Origine blog.csdn.net/qq_45950904/article/details/104725221
conseillé
Classement