题目描述:
题解:
与leetcode122. 买卖股票的时机 II python_ganggang的博客-CSDN博客类似
1.初始化dp=[[0]*2 for i in range(len(prices))],dp[i][0]表示第i天卖出股票的收益,dp[i][1]表示第i天买入股票的收益,dp[0][1]=-prices[0]。
2.dp[i][0]=max(dp[i-1][0],dp[i-1][1]+prices[i]-fee)
dp[i][1]=max(dp[i-1][1],dp[i-1][0]-prices[i])
class Solution: def maxProfit(self, prices: List[int], fee: int) -> int: days = len(prices) dp = [[0]*2 for i in range(days)] dp[0][1] = -prices[0] for i in range(1,days): dp[i][0] = max(dp[i-1][0],dp[i-1][1]+prices[i]-fee) dp[i][1] = max(dp[i-1][1],dp[i-1][0]-prices[i]) return dp[days-1][0]