JZ-075-股票的最大利润

股票的最大利润

题目描述

可以有一次买入和一次卖出,买入必须在前。求最大收益。

  • 例子:题目描述 [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) {
    
    }
}

【每日寄语】 融四岁,能让梨;弟于长,宜先知。

posted @ 2022-03-17 21:49  醉舞经阁  阅读(23)  评论(0编辑  收藏  举报