题目
在上一题的基础上,要求交易时需要手续费k元
思路
creat两种状态,一个是钱,一个是股票。,然后dp每天的最大收益
代码
def stock3(s,k):
length = len(s)
dp = [[0 for _ in range(length)] for _ in range(0,2)]
dp[0][0] = 0
dp[1][0] = -s[0]
for i in range(1,len(s)):
dp[0][i] = max(dp[0][i-1],dp[1][i-1]+s[i]-k) #cash
dp[1][i] = max(dp[1][i-1],dp[0][i-1]-s[i]) #hold
print(dp)
return dp[0][-1]