题解 | #买卖股票的最好时机(一)#

买卖股票的最好时机(一)

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
全部评论

相关推荐

牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务