题干:
代码:
class Solution {
public:
int maxProfit(vector<int>& prices) {
int low = INT_MAX;
int res = INT_MIN;
for(int i = 0; i < prices.size(); i++){
low = min(low, prices[i]);
res = max(res, prices[i] - low);
}
return res;
}
};
贪心思路:在左边找一个最小值,通过遍历价格列表,不断更新遇到的最低价格,并计算当前价格与最低价格的差值,如果这个差值大于之前记录的最大利润,则更新最大利润。