题目
对于每个时间节点,只有两种状态:已持有股票,或者未持有股票,分别维护这两种情况下的最大利润。最终输出未持有股票情况下的利润即可。
代码记录
class Solution:
def maxProfit(self, prices: List[int], fee: int) -> int:
import math
profit_buy=-math.inf
profit_nobuy=0
for i in range(len(prices)):
pr=prices[i]
profit_buy,profit_nobuy=max(profit_buy,profit_nobuy-pr-fee),max(profit_nobuy,profit_buy+pr)
return profit_nobuy