Leetcode 188: 买卖股票的最佳时机 IV
问题描述:
给定一个整数 k
,表示最多可以进行的交易次数,以及一个整数数组 prices
,其中第 prices[i]
表示第 i
天的股票价格。
设计一个算法来计算可以获得的最大利润。
注意: 你不能同时参与多笔交易(必须在再次购买前出售掉之前的股票)。
适合面试的解法:动态规划(DP)
解法特点
动态规划是解决股票买卖问题的最优解法,特别适合这种限制交易次数的问题。它通过状态定义和转移方程处理复杂的交易规则。
动态规划分为两种场景:
- 当
k >= prices.length / 2
时,可以转化为 无限交易问题; - 当
k
较小时,使用 DP 表表示状态,逐步递推获得解。