leetcode之买卖股票的最佳时机

2020-12-11 10:29:49 浏览数 (1)

本文主要研究一下leetcode之买卖股票的最佳时机

题目

代码语言:javascript复制
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。

注意:你不能在买入股票前卖出股票。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

代码语言:javascript复制
class Solution {
    public int maxProfit(int[] prices) {
        if(prices.length <= 1) {
            return 0;
        }
        int min = prices[0];
        int max = 0;
        for(int i = 1; i < prices.length; i  ) {
            max = Math.max(max, prices[i] - min);
            min = Math.min(min, prices[i]);
        }
        return max;
    }
}

小结

这里用第一天的价格作为最小值,以0作为最大值,然后从第二天开始遍历,计算每天最大获利及股票的最小值,最后得出最大收益。

doc

  • 买卖股票的最佳时机

0 人点赞