class Solution {
public:
int maxProfit(vector<int>& prices) {
int n = prices.size();
vector<int> dp(n);
dp[0] = 0;
int m = prices[0]; // 存前面遍历过的最小值
for (int i = 1; i < n; ++i)
{
dp[i] = max(dp[i-1], prices[i] - m);
m = min(m, prices[i]);
}
return dp[n-1];
}
};
【题解】121. 买卖股票的最佳时机(数组、动态规划)
2024-07-19 16:04:03 19 阅读