美文网首页
121. 买卖股票的最佳时机(简单)-贪心算法

121. 买卖股票的最佳时机(简单)-贪心算法

作者: MatrixZ | 来源:发表于2023-05-30 09:50 被阅读0次

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

分析

  • 现在你是站在上帝视角来看每一天的价格,所以可以设想你在某天,你是不是后悔之前的某一天最低点没有买入,那么如果买入,就是今天卖出的最佳利润
  • 最后再统计每天卖出的最佳利润
class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        # 除了想买入股票后,何时卖出股票
        # 还可以站在每个卖出股票的时候,想下何时买入股票,肯定是在最低的时候,因为现在我是上帝视角,可以假设之前某个地方已经买了
        max_profit = 0

        min_value = prices[0]

        for p in prices:
            max_profit = max(max_profit, p - min_value)
            if min_value > p:  min_value = p
        
        return max_profit

相关文章

网友评论

      本文标题:121. 买卖股票的最佳时机(简单)-贪心算法

      本文链接:https://www.haomeiwen.com/subject/mixsedtx.html