力扣-121-买股票的最佳时机

传送门

题目分析:采用贪心的策略,如果要在第$i$天将股票卖出去,那么买入时一定在$1..i-1$天,为了获得最大的利润,我们用$MinPrices$表示买入的最低点即可。然后遍历一遍数组,维护最大利润即可。

const int inf = 0x3f3f3f3f;
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int result = -inf;
        int nums = prices.size();
        if (!nums) return {};
        int MinPrices = inf;
        for(int i = 0; i < nums; i++){
            if(MinPrices > prices[i])
                MinPrices = prices[i];
            if(result < prices[i] - MinPrices)
                result = prices[i] - MinPrices;
        }
        return result;
    }
};

 

posted @ 2020-08-04 11:48  Peterxiazhen  阅读(121)  评论(0编辑  收藏  举报