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

LC714 Best Time to Buy and Sell

作者: Rookie118 | 来源:发表于2020-08-30 12:36 被阅读0次

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

本题标签:Dynamic Programming

本题难度:\color{Orange}{Medium}

英文题目 中文题目

方案1:

class Solution {
public:
    int maxProfit(vector<int>& prices, int fee) {
        if(prices.size() == 1)
            return 0;
        if(prices.size() == 2)
            return (prices[1] - prices[0] - fee > 0) ? (prices[1] - prices[0] - fee) : 0;
        
        int len = prices.size();
        vector<int> buy(len, 0);
        vector<int> sell(len, 0);
        buy[0] = -prices[0] - fee;
        sell[0] = 0;
        
        for(int i = 1; i < len; ++i)
        {
            buy[i] = max(buy[i - 1], sell[i - 1] - prices[i] - fee);
            sell[i] = max(sell[i - 1], buy[i - 1] + prices[i]);
        }
        return sell[len - 1];
    }
};

时间复杂度:O ( N )

空间复杂度:O ( N )


相关文章

网友评论

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

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