关于动态规划【力扣121.买卖股票的最佳时机和122.买卖股票的最佳时机II的思考】

1、关键思路

【把“买卖”股票问题转化为“持有不持有”股票问题】

比如在第3天我持有这支股票,不代表我今天有买入这支股票,有可能我第1天就买了这支股票,现在只是持有状态,我手头上有这支股票。

(这样我们就可以用dp[i][0]和dp[i][1]表示更多状态,就算不买入股票的那天,也可以用dp数组表示)

2、121.买卖股票的最佳时机和122.买卖股票的最佳时机II的区别

121.买卖股票的最佳时机:一支股票只能买卖一次

122.买卖股票的最佳时机II:一支股票可以买卖多次

3、122.买卖股票的最佳时机II的关键思路

因为本题可以买卖多次,所以在计算第i天持有股票最大利润的时候,可以从“前一天就持有的最大利润”的状态转移过来,【也可以是从“前一天不持有的最大利润 而今天再买入”的状态转移过来】

(如果昨天就是持有状态,今天就不能再买入了;

如果今天要买入,说明昨天是不持有状态,不管昨天有没有卖出,总之昨天就是手头上不持有股票)

(之前学习贪心算法的时候有做到这题。使用的是贪心算法。

但是贪心算法只能解决买卖股票的具体问题;

而动态规划可以解决买卖股票的一系列问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值