Menu
CoddyTech

Top K Frequent Elements

MédioHeapHashingpython iconjava iconcpp iconc iconjs icon+10

Você recebe um array de números inteiros nums e um número inteiro k. Retorne os k valores que aparecem com mais frequência em nums, começando pelo mais frequente. Quando dois valores aparecem o mesmo número de vezes, o menor vem primeiro.

Cada valor aparece uma vez na resposta, independentemente de quantas vezes apareça em nums, e k nunca é maior que o número de valores distintos.

Função

topKFrequent(nums: integer-array, k: integer) → integer-array
numsinteger-array
os valores a contar
kinteger
quantos valores retornar
Retornainteger-array
os k valores mais frequentes, em ordem decrescente de frequência; em caso de empate, primeiro o menor valor

Restrições

  • 1 ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • 1 ≤ k, e k é no máximo o número de valores distintos em nums.

Exemplos

Entrada
nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]k = 2
Saída
[4, 1]
Explicação
4 ocorre quatro vezes, 1 três vezes, e 2 e 3 uma vez cada. Os dois valores mais frequentes são 4, seguido de 1.

lock icon+16 testes ocultos ao enviar

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

Caso 1

Caso 2

Caso 3

Entrada

nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]
k = 2

Esperado

[4, 1]