问题
解答
设立4个变量代表每次进行交易时手中的钱(钱最大化即得到最大利润)
money1
为第一次买入手中的钱
money2
为第一次卖出手中的钱
money3
为第二次买入手中的钱
money4
为第二次卖出手中的钱
具体实现过程参考以下代码:
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if len(prices)<2:
return 0
money1 = money2 = money3 = money4 = -float('inf')
for i in range(len(prices)):
money1 = max(money1, -prices[i])
money2 = max(money2, money1+prices[i])
money3 = max(money3, money2-prices[i])
money4 = max(money4, money3+prices[i])
return money4