其他分享
首页 > 其他分享> > 股票的最大利润

股票的最大利润

作者:互联网

题目描述

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

在这里插入图片描述

解题思路

使用贪心策略,假设第 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;
}

标签:最大,int,股票,maxProfit,买入,prices,soFarMin,Math,利润
来源: https://blog.csdn.net/uniquewonderq/article/details/121342334