class Solution:def maxProfit(self, k: int, prices: List[int]) -> int:n = len(prices)dp = [[0]*(2*k+1) for i in range(n)]for i in range(1,2*k+1,2):dp[0][i] = -prices[0]for i in range(1,n):for j in range(1,2*k+1,2):dp[i][j] = max(dp[i-1][j],dp[i-1][j-1]-prices[i])dp[i][j+1]= max(dp[i-1][j+1],dp[i-1][j]+prices[i])return dp[-1][2*k]
题目链接:188. 买卖股票的最佳时机 IV - 力扣(LeetCode)