算法训练营第43天|121. 买卖股票的最佳时机|122.买卖股票的最佳时机II|123.买卖股票的最佳时机III

121. 买卖股票的最佳时机

下面的递推式保证了只买一次。

dp[i][0]=Math.max(dp[i-1][0],-prices[i]);

122.买卖股票的最佳时机II

下面的递推式可以买卖多次。

dp[i][0]=Math.max(dp[i-1][0],dp[i-1][1]-prices[i]);

123.买卖股票的最佳时机III

思路:这道题最多可以买卖两次,所以会产生五种状态:

1.未曾买入的初始状态

2.第一次持有股票的状态

3.第一次卖出后不持有股票的状态

4.第二次持有股票的状态

5.第二次卖出后不持有股票的状态

dp[i][j]中,j表示各种状态,i表示第几天,dp表示剩余的最大现金。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值