就是差值最大的两个数,找到元素索引小的位置与当前元素差值最大的。
需要维护一个当前元素之前的最小元素值,然后与当前元素做差值比对
prices[i]代表当前元素,那么找到它左侧的最小元素,两者之差就是包含该元素的最大差值。
class Solution {
public int maxProfit(int[] prices) {
//卖出的数组索引不能小与买入的索引
if(prices.length==0){
return 0;
}
int res = 0;
int min = prices[0];
for(int i = 1 ;i<prices.length;i++){
if(prices[i] <= min){
min = prices[i];
}else{
if(res < prices[i] - min){
res = prices[i] - min;
}
}
}
return res;
}
}
网友评论