Menu
CoddyTech

Kth Largest Element in an Array

Você recebe um array de números inteiros nums e um número inteiro k. Retorne o k-ésimo maior valor em nums: o valor na posição k, contando a partir de 1, depois que o array for ordenado do maior para o menor.

Valores iguais são contados separadamente. Em [5, 5, 1], o maior valor é 5 e o segundo maior também é 5.

Função

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
os valores a serem ranqueados
kinteger
qual é o maior valor a retornar, 1 para o maior
Retornainteger
o k-ésimo maior valor, contando duplicatas

Restrições

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • Valores iguais contam como valores separados.

Exemplos

Entrada
nums = [7, 2, 9, 4, 9, 1]k = 2
Saída
9
Explicação
Do maior para o menor, os valores são 9, 9, 7, 4, 2, 1. Os dois 9 são contados separadamente, então o segundo maior é 9, não 7.

lock icon+15 testes ocultos ao enviar

challenge icon

Para ir além

Agora os valores chegam um de cada vez. Você consegue informar a mediana de todos os valores vistos até o momento após cada chegada, em O(log n) de tempo por valor?

Redefinir código
def findKthLargest(nums, k):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

9