Problem 188: Best Time to Buy and Sell Stock IV
PreviousProblem 123: Best Time to Buy and Sell Stock IIINextProblem 309: Best Time to Buy and Sell Stock with Cooldown
Last updated
Was this helpful?
Last updated
Was this helpful?
对于一次交易来说,永远是先 buy 后 sell。对于 buy 来说,对于 profit 的影响永远是负数,因为是要花钱的。
当前sell[j]
的大小,取决于当前的 prices[i]
和当前的 buy[j]
;而当前 buy[j]
的大小,取决于上一次的 sell[j - 1]
这里有一个 trick:当 k >= len / 2
的时候,说明最多每次都可以进行交易,想交易几次交易几次,也就是化归成了 Best Time to Buy and Sell Stock II
buy[]
和 sell[]
的初始化
buy[] 数组里的元素都是负数,因为买要花钱的,盈利就是负数。所以我们在初始化的时候为最小值。sell[] 也初始化了其实,因为创建数组的时候,所有值默认为 0,所以我们没有进行额外的操作。
核心方程
注意 index 到底是 i 还是 j。