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

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

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])

全部评论

相关推荐

拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务