from typing import List
classSolution:defmaxProfit(self, k:int, prices: List[int])->int:iflen(prices)==0or k ==0:return0
buy_list =[-float("inf")]* k
sell_list =[0]* k
for p in prices:
buy_list[0]=max(buy_list[0],0- p)
sell_list[0]=max(sell_list[0], buy_list[0]+ p)for i inrange(1, k):
buy_list[i]=max(buy_list[i], sell_list[i -1]- p)
sell_list[i]=max(sell_list[i], buy_list[i]+ p)return sell_list[-1]# 取最后一个数# return sell_list[k - 1]