股票的最大价值

2018-05-22  本文已影响0人  vckah

将一系列价格放入一个列表中,求这些价格的最大利润。例如 [9, 11, 8, 5, 7, 12, 16, 14],则价格差异最大是 11,在 5 和 16 中将产生。
思路:
在扫描到数组中的第 i 个数字时,只要我们能够记住之前的 i-1 个数字中的最小值,就能算出在当前价位卖出时可能得到的最大利润。

def maxProfit(prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        length = len(prices)
        if length < 2:
            return 0
        min = prices[0]
        maxdiff = prices[1] - min
        for i in range(2,length):
            if prices[i-1] < min:
                min = prices[i-1]
            curdiff = prices[i] - min
            maxdiff = max(maxdiff, curdiff)
        if maxdiff <= 0:
            return 0
        return maxdiff
上一篇 下一篇

猜你喜欢

热点阅读