188. 买卖股票的最佳时机 IV
解法一:dp
dp[i][k][0] = max(dp[i-1][k][0] , dp[i-1][k][1] + prices[i])
max( 不卖——`rest` , 卖—— `sell` )dp[i][k][1] = max(dp[i-1][k][1] , dp[i-1][k-1][0] - prices[i])
max( 不买——`rest` , 买——`buy` )dp[-1][k][0] = 0
解释:因为 i 是从 0 开始的,所以 i = -1 意味着还没有开始,这时候的利润当然是 0 。
dp[-1][k][1] = -infinity
解释:还没开始的时候,是不可能持有股票的。
因为我们的算法要求一个最大值,所以初始值设为一个最小值,方便取最大值。
dp[i][0][0] = 0
解释:因为 k 是从 1 开始的,所以 k = 0 意味着根本不允许交易,这时候利润当然是 0 。
dp[i][0][1] = -infinity
解释:不允许交易的情况下,是不可能持有股票的。
因为我们的算法要求一个最大值,所以初始值设为一个最小值,方便取最大值。最后更新于