这个题的话我是试着自己去写的,买入一定要卖出,比如 7,1,5,6,7,3,4 在1的时候买入,后面[5,6,7] 那么选择在7的时候卖出最划算,接下来3的时候买入,4 的时候卖出就可以了
7,6,4,3,1 那么像这种情况下,是一直不买入的,故而最后得到的是0,需要注意这里是不会有买入但是不卖出的情况,因为有买入就以为着前小后大可以卖出,一定会是对应关系。

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        //买入为0 卖出为1
        //i比i+1小并且在等待买入,则买入 否则卖出
        //买入
        int sum=0,flag=0,tmp=0;
        for(int i=0;i<prices.size()-1;){
            if(prices[i]<prices[i+1]){
                //买入
                sum-=prices[i];
                i++;
                //卖出
                while(i<prices.size()-1&&prices[i]<prices[i+1]) i++;
                sum+=prices[i];
            }else{
                i++;
            }
        }
        return sum;
    }
};