股票问题第二波
上一篇文章:股票问题与状态机dp
本篇文章涉及题目如下:
交易K次问题
在上篇文章的基础上,我们其实需要做的就是在处理函数上加一个参数k代表还可以交易几次,当k < 0时就说明交易次数达到上限
1 | class Solution { |
值得注意的是,该问题的记忆化搜索实现中cache数组应该为三维,cache[i][k][hold]
表示第i天,剩余交易次数k次、是否拥有股票的结果的缓存
使用记忆化搜索是无法通过123. 买卖股票的最佳时机 III的,因此可以将其改成dp解决
1 | class Solution { |
冷冻期问题
这个问题有点类似与打家劫舍—不能连续偷相邻的房屋。那么在本问题中,是不是将比较前一天的代码改成比较前前一天的代码就行了?差不多!但是只有在买入股票或卖出股票的时候需要修改,这是因为买入卖出才算一次交易,所以在这两个时间段选一个进行修改即可
1 | class Solution { |