思路: 求最大差值
假设在当天将股票卖出,最大的收益将是在今天卖出之前股票最便宜的时候买进
所以只需要维护在当前天之前的最小值即可,若是差值大于最大收益则更新最大收益;若是当前天价格低于最小值则更新最小值
class Solution(object):
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
if len(prices) ==0:
return 0
minv = prices[0]
maxPro = -1
for i in prices:
if i - minv > maxPro:
maxPro = i-minv
if minv > i :
minv = i
if maxPro == -1:
return 0
else:
return maxPro