最佳买卖股票时机含冷冻期

题源:leetcode

链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/

 

 比原来的那个最佳买卖股票时机II多了一个情况去进行dp,其他思路一样。

 1 class Solution {
 2 public:
 3     int maxProfit(vector<int>& prices) {
 4         if(prices.empty())  return 0;
 5 
 6         int n = prices.size();
 7         vector<vector<int>> dp(n,vector<int>(3));
 8         dp[0][0] = -prices[0];
 9 
10         for(int i =1;i<n;i++){
11             dp[i][0] = max(dp[i-1][0],dp[i-1][2]-prices[i]);
12             dp[i][1] = dp[i - 1][0] + prices[i];
13             dp[i][2] = max(dp[i - 1][1], dp[i - 1][2]);
14         }
15         return max(dp[n - 1][1], dp[n - 1][2]);
16 
17      }
18 };

 

posted @ 2021-08-22 13:39  Danae丶  阅读(43)  评论(0)    收藏  举报