方法一:左到右
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if not prices:
return 0
res = 0
min_price = prices[0]
for i in range(1, len(prices)):
res = max(res, prices[i] - min_price)
min_price = min(min_price, prices[i])
return res
方法二:右到左
class Solution:
def maxProfit(self, prices: List[int]) -> int:
if not prices:
return 0
res = 0
max_price = prices[-1]
for i in range(len(prices) - 2, -1, -1):
res = max(res, max_price - prices[i])
max_price = max(max_price, prices[i])
return res