法一:max_ending_here,max_so_far
执行用时:144 ms, 在所有 Python3 提交中击败了94.71%的用户
内存消耗:23.5 MB, 在所有 Python3 提交中击败了63.57%的用户
class Solution:
def maxProfit(self, prices: List[int]) -> int:
mn=prices[0]
max_ending_here,max_so_far=0,0
for i in prices:
if i>mn:
max_ending_here=i-mn
else:
mn=i
if max_ending_here>max_so_far
max_so_far=max_ending_here
return max_so_far
化简后性能没有提升。
#max,min#函数,比条件判断耗时。
class Solution:
def maxProfit(self, prices: List[int]) -> int:
mn=prices[0]
max_so_far=0
for i in prices:
mn=min(mn,i)
max_so_far=max(i-mn,max_so_far)
return max_so_far