贪心思维,假设第一个元素为股票最低价,依次与接下来的每一天股价进行比较,并保留最小的股价和最大的股价收益。空间复杂度为O(1),时间复杂度为O(n)
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfit(self , prices: List[int]) -> int: # write code here if prices == []: return 0 minp = prices[0] res = 0 for i in range(1, len(prices)): minp = min(prices[i], minp) res = max(res, prices[i] - minp) return res