题目

26年7月19日(首刷自解)
Go
func maxProfit(prices []int, fee int) int {
//无限次购买,但是每次卖出要交一笔费用
dp:=make([][]int,len(prices)+1)//下标[0,len(prices)]
for i,_ :=range dp{
dp[i]=make([]int,2)
}
dp[0][0]=0
dp[0][1]=-prices[0]
for i:=1;i<=len(prices);i++{
dp[i][0]=max(dp[i-1][1]+prices[i-1]-fee,dp[i-1][0])
dp[i][1]=max(dp[i-1][0]-prices[i-1],dp[i-1][1])
}
return dp[len(prices)][0]
}
思路
多了一个手续费,而且注意这个手续费是买卖一个全流程才一次手续费,所以固定在卖的时候交手续费就可以