双指针,遇到比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;
}
};


京公网安备 11010502036488号