Menu
CoddyTech

Kth Largest Element in an Array

ŚrednieKopiecSortowaniepython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz tablicę liczb całkowitych nums i liczbę całkowitą k. Zwróć k-tą największą wartość w nums: wartość na pozycji k, licząc od 1, po posortowaniu tablicy od największej do najmniejszej.

Równe wartości liczą się osobno. W [5, 5, 1] największa wartość to 5, a druga co do wielkości również wynosi 5.

Funkcja

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
wartości do uporządkowania
kinteger
którą największą wartość zwrócić, 1 oznacza największą
Zwracainteger
k-ta co do wielkości wartość, z uwzględnieniem duplikatów

Ograniczenia

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • Równe wartości są liczone jako osobne wartości.

Przykłady

Wejście
nums = [7, 2, 9, 4, 9, 1]k = 2
Wyjście
9
Wyjaśnienie
Wartości od największej do najmniejszej to 9, 9, 7, 4, 2, 1. Dwie dziewiątki liczą się osobno, więc druga co do wielkości wartość to 9, a nie 7.

lock icon+15 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Wartości docierają teraz pojedynczo. Czy potrafisz podać medianę wszystkich wartości otrzymanych do tej pory po każdym kolejnym napływie, w czasie O(log n) dla każdej wartości?

Zresetuj kod
def findKthLargest(nums, k):
    # Wpisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

9