贪心

我的做法是,先更新最大值,再更新最小值,如果最小值得到更新,那就让最大值无效,之后每轮再更新利润

但是我感觉这种思路还是可遇不可求

先定一个策略,我假设今天卖,能赚多少?而我是遍历过来的,前面的最小值我是知道的

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int pro = 0, minpri = 1e9;
        for(int i: prices) {
            pro = max(pro, i-minpri);
            minpri = min(minpri, i);
        }
        return pro;
    }
};

确实正确,也确实说不出什么来