买卖股票的最好时机
题目链接
Solution
因为只有一次买入卖出的机会,所以可以枚举在哪天卖出。
对于卖出的那一天,买入的那一天一定在这一天之前,并且是价格最低的。
所以从前往后扫,记录并更新最小值即可。
Code
class Solution {
public:
int maxProfit(vector<int>& prices) {
// write code here?
int ans = 0, mn = prices[0];
for (int i = 1; i < (int)prices.size(); ++i) {
ans = max(ans, prices[i] - mn);
mn = min(mn, prices[i]);
}
return ans;
}
};