动态规划
class Solution:
def maxProfit(self, prices):
size = len(prices)
maxv = 0
dp = [[0] * 2 for _ in range(size)]
dp[0][1] = -prices[0]
for i in range(1, size):
dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] + prices[i])
dp[i][1] = max(dp[i - 1][1], dp[i - 2][0] - prices[i])
maxv = max(maxv, dp[i][0])
return maxv
状态dp[i][j]表示在第i天手中持股/不持股总盈利的最大值