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

2023-05-30  本文已影响0人  MatrixZ

给定一个数组 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
上一篇 下一篇

猜你喜欢

热点阅读