😎

121. Best Time to Buy and Sell Stock

に公開

配列 prices が与えられ、prices[i] はある株の i 日目の価格を表します。

1日だけ株を購入し、その後の異なる日付にその株を売ることで、利益を最大化したいと考えています。

この取引から得られる最大利益を返してください。もし利益を得ることができない場合は、0 を返してください。


例1:

  • 入力: prices = [7,1,5,3,6,4]
  • 出力: 5
  • 解説:
    2日目に購入(価格 = 1)し、5日目に売却(価格 = 6)すると、利益は 6 - 1 = 5 です。
    なお、2日目に購入して1日目に売却することはできないため、必ず購入が売却より前の日付である必要があります。

例2:

  • 入力: prices = [7,6,4,3,1]
  • 出力: 0
  • 解説:
    この場合、どの日に購入しても、後の日に売却しても利益を得ることができないため、最大利益は 0 です。

Discussion