Sword63——股票的最大利润
方法1——动态规划
- 思路:只需要不断找出最小值和最大值,最小值当天买入,最大值当天卖出,即可获取最大收益
- 特殊情况与临界分析:无
- 终止条件:无
- 步骤:
- 定义最小成本、最大收益
- foreach循环寻找最小成本和最大收益
- 返回最大收益
public int maxProfit(int[] prices) {
// 定义最小成本、最大收益
int minPrice = Integer.MAX_VALUE, maxProfit = 0;
// foreach循环
for (int price : prices) {
// 寻找最小成本
minPrice = Math.min(minPrice, price);
// 寻找最大收益
maxProfit = Math.max(maxProfit, price - minPrice);
}
// 返回最大收益
return maxProfit;
}