Menu
CoddyTech

Top K Frequent Elements

MedioHeapHashingpython iconjava iconcpp iconc iconjs icon+10

Ti viene fornito un array di numeri interi nums e un numero intero k. Restituisci i k valori che compaiono più spesso in nums, in ordine decrescente di frequenza. Se due valori compaiono lo stesso numero di volte, viene prima il valore più piccolo.

Ogni valore compare una sola volta nella risposta, indipendentemente da quante volte compare in nums, e k non è mai maggiore del numero di valori distinti.

Funzione

topKFrequent(nums: integer-array, k: integer) → integer-array
numsinteger-array
i valori da contare
kinteger
quanti valori restituire
Restituisceinteger-array
i k valori più frequenti, in ordine decrescente di frequenza; a parità di frequenza, prima il valore più piccolo

Vincoli

  • 1 ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • 1 ≤ k e k è al massimo il numero di valori distinti in nums.

Esempi

Input
nums = [4, 1, 4, 2, 1, 4, 3, 1, 4]k = 2
Output
[4, 1]
Spiegazione
4 compare quattro volte, 1 tre volte e 2 e 3 una volta ciascuno. I due valori più frequenti sono 4, seguito da 1.

lock icon+16 test nascosti all’invio

Ripristina il codice
def topKFrequent(nums, k):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

[4, 1]