美文网首页
LC123 Best Time to Buy and Sell

LC123 Best Time to Buy and Sell

作者: Rookie118 | 来源:发表于2020-08-26 22:38 被阅读0次

本题链接:Best Time to Buy and Sell Stock III

本题标签:ArrayDynamic Programming

本题难度:\color{Red}{Hard}

英文题目 中文题目

方案1:

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size() < 2)
            return 0;

        int len = prices.size();
        int min_buy1 = INT_MAX, min_buy2 = INT_MAX;
        int max_sell1 = 0, max_sell2 = 0;
        
        for(int i = 0; i < len; ++i)
        {
            min_buy1 = min(min_buy1, prices[i]);
            max_sell1 = max(max_sell1, prices[i] - min_buy1);
            min_buy2 = min(min_buy2, prices[i] - max_sell1);
            max_sell2 = max(max_sell2, prices[i] - min_buy2);
        }
        
        return max_sell2;
    }
};

时间复杂度:O ( N )

空间复杂度:O ( 1 )


相关文章

网友评论

      本文标题:LC123 Best Time to Buy and Sell

      本文链接:https://www.haomeiwen.com/subject/xgcqsktx.html