题目来源:力扣面试经典150题
原题目要求:
代码如下:
public int maxProfit(int[] prices) {
int minPrice = Integer.MAX_VALUE;
int max = 0;
for(int i = 0; i < prices.length; i++){
if(prices[i] < minPrice){
minPrice = prices[i];
}else if(prices[i] - minPrice > max){
max = prices[i] - minPrice;
}
}
return max;
}
解题思路为:
1、寻找这段数组中每一段递增区间的起始值,并逐一用这段递增区间的值与这个所谓的区间最小值求差值。
2、记录该区间的始末差值。
3、寻找下一个递增区间,并与步骤一一致,比对二者区间始末差值,保留较大值。
解题思路仅供参考,欢迎大佬指正或提供更优解。