题解 | #买卖股票的最好时机(三)#

买卖股票的最好时机(三)

http://www.nowcoder.com/practice/4892d3ff304a4880b7a89ba01f48daf9

对于股票问题我们只需要得到所有的状态转移方程即可

由于题目要求只能交易两次

我们可以得到buy1,即第一次购买股票,sell1,第一次出售股票,buy2,第一次交易完成后第二次购买股票,sell2,第二次出售股票

class Solution:
    def maxProfit(self , prices: List[int]) -> int:
        # write code here
        n=len(prices)
        buy1=buy2=-prices[0]
        sell1=sell2=0
        for i in range(1,n):
            buy1=max(buy1,-prices[i])
            sell1=max(sell1,buy1+prices[i])
            buy2=max(buy2,sell1-prices[i])
            sell2=max(sell2,buy2+prices[i])
        return sell2
全部评论
老板 太妙了
点赞 回复 分享
发布于 2023-03-02 11:16 北京

相关推荐

点赞 评论 收藏
分享
2024-12-04 19:53
已编辑
湖南文理学院 产品经理
牛客224543458号:他想找牛马,愿意疯狂加班的,因为要证明自己
点赞 评论 收藏
分享
评论
15
1
分享
牛客网
牛客企业服务