Leetcode 121. Le meilleur moment pour acheter et vendre des actions [sujets de la série]

Description du problème

Étant donné un tableau, son i-ème élément est le prix du i-ème jour d'un stock donné.
Si vous n'êtes autorisé à effectuer qu'une seule transaction (c'est-à-dire acheter et vendre une action une fois), concevez un algorithme pour calculer le profit maximum que vous pouvez obtenir.
Remarque: vous ne pouvez pas vendre d'actions avant de les acheter.

Rapport de résolution de problèmes

Parcourez le tableau en séquence, en enregistrant la valeur minimale dans le tableau traversé.
Si l'élément traversé actuel est supérieur à la valeur minimale, il est supposé que la vente actuelle, la valeur minimale correspondant au jour de l'achat, met à jour le profit maximal pouvant être obtenu.

Code d'implémentation

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int ans=0,MINN=INT_MAX;
        for(int i=0;i<prices.size();i++){
            if(prices[i]<MINN) MINN=prices[i];
            else ans=max(ans,prices[i]-MINN);
        }
        return ans;
    }
};

Les références

[1] Leetcode 121. Le meilleur moment pour acheter et vendre des actions

Publié 139 articles originaux · loué 8 · 10 000+ vues

Je suppose que tu aimes

Origine blog.csdn.net/qq_27690765/article/details/105354316
conseillé
Classement