乐趣区

关于java:JZ075股票的最大利润

股票的最大利润

题目形容

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

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

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

退出移动版