🧩Algo 贪心
121. 买卖股票的最佳时机
难度:🟢 Easy | 标签:贪心、动归 | 状态:⬜ LeetCode 链接
思路
维护历史最低价 lo,每天看「今天卖出」的收益 = price - lo,取最大。
代码
class Solution {
public:
int maxProfit(vector<int>& prices) {
int lo = INT_MAX, best = 0;
for (int p : prices) {
lo = min(lo, p);
best = max(best, p - lo);
}
return best;
}
};
复杂度
- 时间 O(n),空间 O(1)
易错 / 回顾
- 一次买卖(本题):扫描即可
- 多次买卖(122):贪心累加上升段
- 至多两次(123)/ K 次(188):DP,状态较多
Related · 贪心