题目链接:
309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode)
题目描述:

算法图解:








 解题代码:
解题代码:
 
class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n = prices.size();
        vector<int> dp1(n+1);
        vector<int> dp2(n+1);
        vector<int> dp3(n+1);
        dp1[0] = 0-prices[0];
        for(int i = 1; i<n+1;i++)
        {
            dp1[i] = max(dp1[i-1],dp2[i-1]-prices[i-1]);
            dp2[i] = max(dp2[i-1],dp3[i-1]);
            dp3[i] = dp1[i-1] + prices[i-1];
        }
        return max(max(dp1[n],dp2[n]),dp3[n]);
    }
};


















