Z04
Bekleme Süreli Borsa
Teknik Tanım & Görev
Bir yatırımcı n gün boyunca bir hissenin günlük kapanış fiyatlarını gözlemliyor. Kurallar:
• Aynı anda EN FAZLA BİR pozisyon tutabilir (elinde hisse varken yeni hisse ALAMAZ; önce satması gerekir).
• İstediği kadar AL-SAT yapabilir (işlem sayısı sınırsız).
• Bir hisseyi SATTIKTAN SONRA, BİR SONRAKİ GÜN hiçbir işlem yapamaz (bekleme süresi / cooldown).
• Her SATIŞ işlemi sabit bir `islemUcreti` maliyeti getirir. Alışta ücret yoktur.
• Hiç işlem yapmamak her zaman geçerlidir (kâr 0).
Günlük fiyat listesi ve işlem ücreti verildiğinde, elde edilebilecek EN YÜKSEK TOPLAM KÂRI döndür.
Fonksiyon İmzası (Python)
maks_kar(fiyatlar: list[int], islem_ucreti: int) -> intGirdi ve Çıktı Sözleşmesi
Çıktı Kuralı:Negatif olmayan tam sayı (zarar eden işlem yapılmaz). Boş liste için 0.
Sistem Kısıtları (Constraints)
0 <= fiyatlar.length <= 10^5
0 <= fiyatlar[i] <= 10^4
0 <= islemUcreti <= 10^4Örnek Yürütme Analizi
fiyatlar = [1, 2, 3, 0, 2], islemUcreti = 0
en iyi strateji: 1. gün al (1) -> 2. gün sat (2) -> 3. gün bekle -> 4. gün al (0) -> 5. gün sat (2)
kâr = (2-1) + (2-0) = 3
cevap: 3Örnek Test Senaryoları (3)
Örnek 1
Girdi:
[[1,2,3,0,2],0]Beklenen Çıktı:
3Örnek 2: İşlem Ücreti 3
Girdi:
[[1,3,7,5,10,3],3]Beklenen Çıktı:
6Örnek 3: Sıfır Ücret Monoton Artan
Girdi:
[[1,2,3,4],0]Beklenen Çıktı:
3