309. 最佳买卖股票时机含冷冻期
1 //hold 持股1、昨天持股,今天什么都不做 2、昨天冻结,今天买入 2 //sold 不持股1、昨天不持股,今天什么都不做 2、昨天持股,今天卖出 3 //rest 冻结1、昨天持股,今天卖出 4 class Solution 5 { 6 public: 7 int maxProfit(vector<int>& prices) 8 { 9 if(prices.empty()) return 0; 10 int n = prices.size(); 11 vector<int> rest(n,0),hold(n,0),sold(n,0); 12 rest[0] = 0,hold[0] = -prices[0],sold[0] = 0; 13 for(int i = 1;i < n;i ++) 14 { 15 hold[i] = max(hold[i - 1],rest[i - 1] - prices[i]); 16 sold[i] = hold[i - 1] + prices[i]; 17 rest[i] = max(rest[i - 1],sold[i - 1]); 18 } 19 return max(rest[n - 1],sold[n - 1]); 20 } 21 };
Mamba never out

浙公网安备 33010602011771号