题目描述:

题解:
与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]
版权声明:本文为laurasam原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。