买卖股票的最佳时机3

理论:
1.动态规划里面的状态实际上是分类讨论(在此题里面dp数组的确立可以体现)

做动规步骤:

1.需要明确dp数组含义

         1.确定维度:此题最大收益,当天数和销售股票数目,以及是否持有股票状态均有关,故有3个维度

       故可以使用三维数组dp[i][0][n]//表示第i天,其中第二个0表示此时不持有股票,第三个n表示到此为止销售 了n个股票。(n最大是2)(自己试过,是可以解决本题题目的)(这里补充一下,关于为什么推荐降到二维,是因为初始化的时候,三维是一个空间,立体有点麻烦有时候露情况不好处理)

       由理论可知,动规里面的状态本质上是分情况讨论,所以可以将事件分情况为,第i天不持有股票,第i天持有第一张股票,第i天不持有第一张股票,第i天持有第二张股票,第i天不持有第二张股票五种情况。

      故可以将三维数组变为二维数组dp[i][n],此时的n代表事件(每天的状态数)数(n的最大值是5);

下面是此题代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值