En İyi 150 RöportajKolay

Akıştaki En Büyük K. Element

'Akıştaki K'inci En Büyük Öğe' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Bir akıştaki k'inci en büyük öğeyi bulmak için bir sınıf tasarlayın. Bunun, k'inci ayrı öğe değil, sıralı düzende k'inci en büyük öğe olduğunu unutmayın.

KthLargest sınıfını uygulayın:

- KthLargest(k: int, nums: List[int]) Nesneyi k tamsayısıyla ve nums tamsayı akışıyla başlatır.

- add(val: int) -> int Akışa val tamsayısını ekler ve k'inci en büyük öğeyi temsil eden öğeyi döndürür.

Giriş, işlemlerin ve argümanların bir listesidir. Sonuçların bir listesini döndüren kthLargest(operations: list, arguments: list) -> list işlevini uygulayın (Yapıcı için Yok, ekleme için int).

Kısıtlamalar
  • 1 <= k <= 10^4
  • 0 <= len(nums) <= 10^4
  • -10^4 <= nums[i], val <= 10^4
  • At most 10^4 calls will be made to add

Örnekler

Example 1
Input
operations = ["KthLargest", "add", "add", "add", "add", "add"], arguments = [[3, [4, 5, 8, 2]], [3], [5], [10], [9], [4]]
Output
[None, 4, 5, 5, 8, 8]
Explanation

KthLargest class is initialized with k=3 and nums=[4,5,8,2]. add(3) returns 4. add(5) returns 5. add(10) returns 5. add(9) returns 8. add(4) returns 8.

Need a Hint?
Kümeler veya yığınlar gibi Yığın/Öncelik Kuyruğuna ö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.