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

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

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

全部评论

相关推荐

点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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