扫一遍数组,过程中维护两个值即可:一个是之前的最小值(buy),决定什么时候买.另一个是最多卖多少.

类似题目:leetcode1014

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        buy = float('inf')
        ret = 0
        for p in prices:
            buy = min(p, buy)
            ret = max(ret, p - buy)
        return ret

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄