188. Best Time to Buy and Sell Stock IV (H)
You are given an integer array prices
where prices[i]
is the price of a given stock on the ith
day, and an integer k
.
Find the maximum profit you can achieve. You may complete at most k
transactions.
Note: You may not engage in multiple transactions simultaneously (i.e., you must sell the stock before you buy again).
Example 1:
Example 2:
Constraints:
0 <= k <= 100
0 <= prices.length <= 1000
0 <= prices[i] <= 1000
Solution:
有了上一题 k = 2
的铺垫,这题应该和上一题的第一个解法没啥区别。但是出现了一个超内存的错误,原来是传入的 k
值会非常大,dp
数组太大了。现在想想,交易次数 k
最多有多大呢?
一次交易由买入和卖出构成,至少需要两天。所以说有效的限制 k
应该不超过 n/2
,如果超过,就没有约束作用了,相当于 k = +infinity
。这种情况是之前解决过的。
直接把之前的代码重用:
Previous123. Best Time to Buy and Sell Stock III (H)Next309. Best Time to Buy and Sell Stock with Cooldown (M)
Last updated