描述
分析
只能买卖一次。
希望在最低处买,最高处卖。
怎么判断最低处?
遍历时存储已遍历的最小值。
怎么判断最高处?
遍历时,比较当前位置和最小值的差,取较大的。
代码
class Solution {
public int maxProfit(int[] prices) {
if(prices.length < 2) return 0;
int max = 0;
int min = prices[0];
for(int i = 1; i< prices.length; i++) {
max = Math.max(max, prices[i] -min);
min = Math.min(min, prices[i]);
}
return max;
}
}