image.png
遍历整个数组,求出每一个值左边的最小值,二者的差放在一个变量存储,求这个变量的最大值就是要求的结果
image.png
class Solution {
public int maxProfit(int[] prices) {
if(prices.length==0) return 0;
int minprice=prices[0];//最小价格
int maxprofit=0;//最大利润
int result=0;
for(int i=0;i<prices.length;i++){
if(prices[i]<minprice){//说明是在不断下降,那就不能卖出
minprice=prices[i];//更新最小值
}else if(prices[i]-minprice>maxprofit)//更新最大利润
{
maxprofit=prices[i]-minprice;
result=Math.max(result,maxprofit);
}
}
return result;
}
}
网友评论