股票的最大利润
题目形容
能够有一次买入和一次卖出,买入必须在前。求最大收益。
- 例子:题目形容 [7, 1, 5, 3, 6, 4]
- 最大利润为 6 - 1 = 5
题目链接: [股票的最大利润]()
代码
/** * 题目:股票的最大利润 * 能够有一次买入和一次卖出,买入必须在前。求最大收益。 * 例子:题目形容 [7, 1, 5, 3, 6, 4] * 最大利润为 6 - 1 = 5 */public class Jz75 { /** * 应用贪婪策略,假如第 i 轮进行卖出操作,买入操作价格应该在 i 之前并且价格最低。 */ public int maxProfit(int[] prices) { if (prices == null || prices.length == 0) { return 0; } int soFarMin = prices[0]; int maxProfit = 0; for (int i = 1; i < prices.length; i++) { soFarMin = Math.min(soFarMin, prices[i]); maxProfit = Math.max(maxProfit, prices[i] - soFarMin); } return maxProfit; } public static void main(String[] args) { }}
【每日寄语】 融四岁,能让梨;弟于长,宜先知。