121. Best Time to Buy and Sell Stock
solution
# 一次迭代过程,只记录之前出现的最低值,也计算目前出现的最大利润。两种计算非同时触发
class Solution:
def maxProfit(self, prices: List[int]) -> int:
low = float('inf')
profit = 0
for price in prices:
if price < low: # 可转化为 low = min(low, i), 截止到目前遇到的最低价格
low = price
if price - low > profit: # 可转化为 profit = max(profit, i - low), 截止目前的最大利润
profit = price - low
return profitfollow up-股票买卖类
Last updated