题解 | #买卖股票的最好时机(一)#
买卖股票的最好时机(一)
https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
题目:https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
贪心算法:
因为只能买卖一次,我们能够把每一天能获得的最大收益算出来。在某一天卖出获得最大收益的必要条件是:在这一天之前价格最便宜的时候买。
最终能获得的最大收益maxprofit等于max(maxprofit,prices[i]-minprice)。就是等于过往天里面记录下来的最大收益,与,当天卖出的话能获得的收益,两者中的最大值。
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param prices int整型一维数组 # @return int整型 # class Solution: def maxProfit(self , prices: List[int]) -> int: minprice=prices[0] maxprofit=0 for i in range(len(prices)): maxprofit=max(maxprofit,prices[i]-minprice)#最大收益等于,过往的最大收益,与,当天卖出的话能获得的收益,两者的最大值 minprice=min(minprice,prices[i]) return maxprofit