双指针,遇到比left位置更小的值,就把left移到那里。

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int len = prices.size();
        int left = 0, right = 1, maxPro = 0;
        while(right < len)
        {
            maxPro = max(maxPro, prices[right] - prices[left]);
            if(prices[right] < prices[left])
                left = right;
            right++;
        }
        return maxPro;
    }
};