维护俩个最大最小值也是可以的,
int maxProfit(vector<int>& prices) {
int n=prices.size();
vector<int> dp(n);
int sum=0;
int maxindex=1;
int minindex=0;
while(maxindex<n)
{
if(prices[maxindex]>prices[minindex])
{
sum=max(prices[maxindex]-prices[minindex],sum);
}else
{
minindex=maxindex;
}
maxindex++;
}
return sum;
}



京公网安备 11010502036488号