Menu
CoddyTech

Best Time to Buy and Sell Stock

KolayAçgözlüpython iconjava iconcpp iconc iconjs icon+10

Bir prices listesi alırsın; burada prices[i], i. gündeki bir hisse senedinin fiyatıdır. Bir gün bir hisse satın alabilir ve daha sonraki bir gün satabilirsin. Elde edebileceğin en büyük kârı döndür; mümkün olan tüm işlemler zarar ettiriyorsa 0 döndür.

Fonksiyon

maxProfit(prices: integer-array) → integer
pricesinteger-array
hissenin her günkü fiyatı, sırayla
Döndürürinteger
tek bir alış ve daha sonraki bir satıştan elde edilen en yüksek kâr veya 0

Kısıtlar

  • 1 ≤ prices.length ≤ 105
  • 0 ≤ prices[i] ≤ 104
  • En fazla bir işlem yaparsın ve satın aldığın günden daha sonraki bir günde satarsın.

Örnekler

Girdi
prices = [7, 2, 5, 9, 1, 4]
Çıktı
7
Açıklama
1. günde 2'den alıp 3. günde 9'dan satarak 7 kâr elde edin. En düşük fiyat olan 4. gündeki 1, 9'dan sonra geldiği için bundan sonraki en iyi satış yalnızca 3 kazandırır.
challenge icon

Ek soru

İstediğin kadar işlem yapabiliyor, ancak aynı anda en fazla bir hisse tutabiliyor olsaydın ne olurdu?

Kodu sıfırla
def maxProfit(prices):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

prices = [7, 2, 5, 9, 1, 4]

Beklenen Çıktı

7