Menu
CoddyTech

Kth Largest Element in an Array

MittelHeapSortierenpython iconjava iconcpp iconc iconjs icon+10

Du erhältst ein Array aus ganzen Zahlen nums und eine ganze Zahl k. Gib den k-größten Wert in nums zurück: den Wert an Position k, von 1 an gezählt, nachdem das Array von größtem nach kleinstem Wert sortiert wurde.

Gleiche Werte werden separat gezählt. In [5, 5, 1] ist der größte Wert 5 und der zweitgrößte ebenfalls 5.

Funktion

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
die zu ordnenden Werte
kinteger
welcher größte Wert zurückgegeben werden soll, 1 für den größten
Gibt zurückinteger
der k-größte Wert, wobei Duplikate mitgezählt werden

Einschränkungen

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • Gleiche Werte zählen als separate Werte.

Beispiele

Eingabe
nums = [7, 2, 9, 4, 9, 1]k = 2
Ausgabe
9
Erklärung
Von den größten bis zu den kleinsten Werten sind es 9, 9, 7, 4, 2, 1. Die beiden 9er werden einzeln gezählt, daher ist der zweitgrößte Wert 9 und nicht 7.

lock icon+15 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Die Werte treffen jetzt nacheinander ein. Kannst du nach jedem Eintreffen den Median aller bisher gesehenen Werte in O(log n) Zeit pro Wert angeben?

Code zurücksetzen
def findKthLargest(nums, k):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

9