文章

99

粉丝

120

获赞

8

访问

96.5k

头像
最佳买卖股票时机含冷冻期 309
备考笔记
发布于2024年9月6日 15:41
阅读数 959

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if(prices.size()==0)return 0;
        //f[i]到第i天为止的最大收益。
        //0,1,2分别表示当前手上持有股票,不持有股票且明天为冷冻期,不持有且明天不是冷冻期
        int n = prices.size();
        vector<vector<int> >f(n, vector<int>(3));
        f[0][0] = -prices[0];
        for(int i = 1; i < n; i++){
            f[i][0] = max(f[i-1][0], f[i-1][2]-prices[i]);
            f[i][1] = f[i-1][0]+prices[i];
            f[i][2] = max(f[i-1][1], f[i-1][2]);
        }
        return max(f[n-1][1], f[n-1][2]);
    }
};

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发