En İyi 150 RöportajOrta

Bekleme Süresiyle Hisse Senedi Almak ve Satmak için En İyi Zaman

'Bekleme Süresiyle Hisse Senedi Almak ve Satmak için En İyi Zaman' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Size fiyatların[i] belirli bir hisse senedinin i'inci gündeki fiyatı olduğu bir dizi fiyatları veriliyor.

Elde edebileceğiniz maksimum karı bulun. Aşağıdaki kısıtlamalarla istediğiniz sayıda işlemi tamamlayabilirsiniz (yani bir hisse senedini birden çok kez alıp bir hisseyi satabilirsiniz):

- Hisse senedinizi sattıktan sonra ertesi gün hisse satın alamazsınız (yani bir gün bekleme süresi).

Not: Aynı anda birden fazla işlem yapamazsınız (yani, tekrar satın almadan önce hisse senedini satmanız gerekir).

maxProfit(prices: List[int]) -> int adlı bir işlev yazın.

Kısıtlamalar
  • 1 <= len(prices) <= 5000
  • 0 <= prices[i] <= 1000

Örnekler

Example 1
Input
prices = [1,2,3,0,2]
Output
3
Explanation

Transactions = [buy, sell, cooldown, buy, sell].

Example 2
Input
prices = [1]
Output
0
Explanation

No transaction can be made.

Need a Hint?
Kümeler veya yığınlar gibi 2B DP'ye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.