采用一次遍历找到最大利润的方法,初始化最小值为列表第一个元素,然后比较利润
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if not prices: # 如果价格列表为空,则直接返回0
return 0
min_price = prices[0] # 初始化最小价格为列表中的第一个价格
max_profit = 0 # 初始化最大利润为0
for price in prices:
# 如果当前价格比已知的最小价格还低,更新最小价格
if price < min_price:
min_price = price
# 否则,计算当前价格与最小价格之差,并更新最大利润
else:
profit = price - min_price
if profit > max_profit:
max_profit = profit
return max_profit