思路
遍历数组,更新最小值和最大利润。
解题方法
定义一个最小值初始化为数组的第一个元素,定义最大利润初始化为0。
遍历数组,如果当前元素小于最小值就更新最小值为当前元素,如果当前元素减去最小值得到的值(利润)大于最大利润,更新最大利润的值。遍历结束就得到了最大利润。
class Solution {
public int maxProfit(int[] prices) {
int minprice = prices[0];
int maxprofit = 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;
}
}
return maxprofit;
}
}