leetcode 121. 株を売買する最良のタイミング(python)

946 ワード

【前言】
pythonブラシleetcode問題解決ディレクトリインデックス:https://blog.csdn.net/weixin_40449300/article/details/89470836
githubリンク:https://github.com/Teingi/test 
【本文】
配列が与えられ、そのi番目の要素は、与えられた株のi日目の価格です.
最大1つの取引(株の購入と売却)しか許可されていない場合は、取得できる最大利益を計算するアルゴリズムを設計します.
株を買う前に株を売ってはいけないことに注意してください.
例1:
  : [7,1,5,3,6,4]
  : 5
  :    2  (     = 1)     ,   5  (     = 6)     ,     = 6-1 = 5 。
             7-1 = 6,               。

例2:
  : [7,6,4,3,1]
  : 0
  :       ,       ,         0。
class Solution:
    def maxProfit(self, prices):
        """
        :type prices: List[int]
        :rtype: int
        """
        if len(prices) < 2:
            return 0
        profit = 0
        minimum = prices[0]
        for i in prices:
            minimum = min(i, minimum)
            profit = max(i - minimum, profit)
        return profit