121. 买卖股票的最佳时机 - 力扣(LeetCode) (leetcode-cn.com)
从左到右进行遍历,更新最低价格和最大收益。
最大收益 与 最低价格 和最高价格有关,但是其差由于位列顺序所以无法确定,需要用到动态规划思想,也就是 需要不停更新 最大收益,那么更新最大收益 就需要了解 最大收益的影响
int sum=0; //实时记录当前收益,并在后续进行更新
int min=prices[0];//设定最低价格,并在后续进行更新
当前的最大收益 = Math.max(之前最大收益,当前股价 - 最小股价);
当前的最小股价 = Math.min(之前最小股价,当前股价);
public int maxProfit(int[] prices) {
int sum=0;
int min=prices[0];
for(int i=0;i<prices.length;i++){
sum = Math.max(sum,prices[i]-min);
min = Math.min(min,prices[i]);
}
return sum;
}