個人主頁:Lei寶啊?
愿所有美好如期而遇
?
也就有這樣的狀態轉移方程:
- ? ? 買入:dp[i][0] = max(dp[i-1][1] - prices[i], dp[i-1][0]);
- ?可買入:dp[i][1] = max(dp[i-1][1], dp[i-1][2]);
- ?冷凍期:dp[i][2] = dp[i-1][0] + prices[i];
class Solution
{
public:int maxProfit(vector<int>& prices) {vector<vector<int>> dp(prices.size(), vector<int>(3));dp[0][0] = -prices[0];for(int i=1; i<prices.size(); i++){dp[i][0] = max(dp[i-1][1] - prices[i], dp[i-1][0]);dp[i][1] = max(dp[i-1][1], dp[i-1][2]);dp[i][2] = dp[i-1][0] + prices[i];}int ret = max(dp[prices.size()-1][1], dp[prices.size()-1][2]);return ret;}
};
?