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

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

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 两次交易所能获得的最大收益
# @param prices int整型一维数组 股票每一天的价格
# @return int整型
#
class Solution:
    def maxProfit(self , prices: List[int]) -> int:
        # write code here
        dp = [[[0,0] for i in range(3)] for i in range(len(prices))]

        dp[0][2][0]=0
        dp[0][1][0]=-99999999
        dp[0][0][0]=-99999999
        dp[0][1][1]=-prices[0]
        dp[0][0][1]=-99999999
        dp[0][2][1]=-99999999

        for i in range(1,len(prices)):
            dp[i][2][0] = dp[i-1][2][0]
            dp[i][1][0] =  max(dp[i-1][1][0], dp[i-1][1][1]+prices[i])
            dp[i][2][1] = -99999999
            dp[i][1][1] =  max(dp[i-1][1][1], dp[i-1][2][0]-prices[i])
            dp[i][0][0] = max(dp[i-1][0][0], dp[i-1][0][1]+prices[i])
            dp[i][0][1] = max(dp[i-1][0][1], dp[i-1][1][0]-prices[i])
        
        return max(dp[-1][0][0],dp[-1][1][0])

全部评论

相关推荐

鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务