一、问题描述


二、解题思路
可以使用贪心算法来解决这个问题。
MAX记录的是i位置右边的最大值,则i位置买卖股票的最大收益即为MAX-pricesi。ret用于记录最大的收益,初始化为0。从后往前遍历prices向量,更新ret值,再更新MAX值,最后返回ret,即为所求。
三、代码实现
cpp
class Solution {
public:
int maxProfit(vector<int>& prices) {
int MAX=-1;
int ret=0;
for(int i=prices.size()-1;i>=0;i--){
ret=max(ret,MAX-prices[i]);
MAX=max(MAX,prices[i]);
}
return ret;
}
};