Menu
CoddyTech

Kth Largest Element in an Array

Bir tamsayı dizisi nums ve bir tamsayı k veriliyor. nums içindeki k. en büyük değeri döndürün: dizi büyükten küçüğe sıralandığında, 1’den başlayarak sayılan k. sıradaki değer.

Eşit değerler ayrı ayrı sayılır. [5, 5, 1] içinde en büyük değer 5, ikinci en büyük değer de 5'tir.

Fonksiyon

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
sıralanacak değerler
kinteger
hangi en büyük değerin döndürüleceği, en büyük değer için 1
Döndürürinteger
yinelenenleri sayarak k. en büyük değer

Kısıtlar

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • Eşit değerler ayrı değerler olarak sayılır.

Örnekler

Girdi
nums = [7, 2, 9, 4, 9, 1]k = 2
Çıktı
9
Açıklama
Değerler büyükten küçüğe doğru 9, 9, 7, 4, 2, 1 şeklindedir. İki tane 9 ayrı ayrı sayılır, bu nedenle ikinci en büyük değer 7 değil, 9 olur.

lock iconGönderirken +15 gizli test

challenge icon

Ek soru

Değerler artık teker teker geliyor. Her yeni değer geldiğinde, o ana kadar görülen tüm değerlerin medyanını değer başına O(log n) sürede hesaplayabilir misin?

Kodu sıfırla
def findKthLargest(nums, k):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

nums = [7, 2, 9, 4, 9, 1]
k = 2

Beklenen

9