121. 买卖股票的最佳时机
1 class Solution 2 { 3 public: 4 int maxProfit(vector<int>& prices) 5 { 6 if(prices.empty()) return 0; 7 int n = prices.size(); 8 int buy = prices[0]; 9 int res = 0; 10 for(int i = 1;i < n;i ++) 11 { 12 res = max(res,prices[i] - buy); 13 if(buy > prices[i]) buy = prices[i]; 14 } 15 return res; 16 } 17 };
1 class Solution 2 { 3 public: 4 int maxProfit(vector<int>& prices) 5 { 6 if(prices.empty()) return 0; 7 int n = prices.size(); 8 vector<vector<vector<int>>> dp(n,vector<vector<int>>(2,vector<int>(2,0))); 9 10 dp[0][1][0] = 0; //i取0的时候 11 dp[0][1][1] = -prices[0]; 12 13 for(int i = 1;i < n;i ++) 14 { 15 for(int k = 1;k <= 1;k ++) 16 { 17 dp[i][k][0] = max(dp[i-1][k][0],dp[i-1][k][1] + prices[i]); 18 dp[i][k][1] = max(dp[i-1][k][1],dp[i-1][k-1][0] - prices[i]); 19 } 20 } 21 22 return dp[n-1][1][0]; 23 } 24 };
Mamba never out

浙公网安备 33010602011771号