leetcode-122. 买卖股票的最佳时机 II

本文最后更新于:2022年8月2日 晚上

本题可买—》卖多次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
int maxProfit(vector<int>& prices) {

// 可交易多次,即卖出状态可继续买入
int n = prices.size();

vector<vector<int>> dp(n, vector<int>(2));

dp[0][0] = -prices[0];
dp[0][1] = 0;

for (int i = 1; i < n ; i++)
{
dp[i][0] = max(max(0-prices[i], dp[i-1][0]), dp[i-1][1] - prices[i]);
dp[i][1] = max(dp[i-1][0] + prices[i], dp[i-1][1]);
}

return dp[n-1][1];
}
};