121。买卖股票的最大时机(非连续的数组中找最大的差值,双指针, 动态规划思想)

234 阅读1分钟

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

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

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

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        if len(prices)<1:
            return 0
        min_price=prices[0]
        max_profit=0
        for i in range(len(prices)):
            min_price = min(min_price, prices[i])                                 // 记录最低价格
            max_profit = max(max_profit, prices[i]-min_price)         //  对比获取最大的利润
        return max_profit

本文由博客群发一文多发等运营工具平台 OpenWrite 发布