解题思路:
相当于从给定天数中,选择两天,一天买入股票并且此时价格在卖出前最低,另一天卖出且此时价格为买入股票后的最高价
假设A天买入,B天卖出,于是问题就分为求B前的最小值,A后的最大值
可以从第一天开始遍历天数,在过程中保存更新最小值,最大值利润
low = float('inf')
maxprofit = 0
for i in range(len(prices)):
low = min(low,prices[i]) #取左边最小价格
maxprofit = max(maxprofit,prices[i]-low) #取最大区间利润
return maxprofit