LeetCode 309. 最好买卖股票时机含冷冻期***

基本思想:
和III那道hard同思想,套她猴子的;
感觉这种类型的题不是简单dp就能解决的,更像是自动机了;
由于有冷冻期的存在,所以必须要进行状态分类;
dp[i][0]代表不在冷冻期,且持有股票; dp[i][1]代表在冷冻期,不持有股票; dp[i][2]代表不在冷冻期,且不持有股票;
每天都有以上三个状态,所以只需要建立状态转移方程即可;
对于dp[i][0],由于持有股票,可能是之前就持有的,也就是dp[i-1][0],也有可能是不在冷冻期新买入的,所以应该为dp[i-1][2]-prices[i]; 对于dp[i][1],则只有当前一天把股票卖了才有冷冻期,所以是前一天持有+今天的价格dp[i-1][0]+prices[i]; 对于dp[i][2],则有可能是之前就是已经卖掉了处在冷冻期dp[i-1][1],或者过去就没有股票,未持有dp[i][2]; 所以最后只需要对比dp[fi

LeetCode 309. 最好买卖股票时机含冷冻期***最先出现在Python成神之路

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/17743.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>