Войти Регистрация
Алгоритмы

8. k самых частых элементов

Средняя

Дан массив целых чисел nums и число k. Верните k чисел, которые встречаются чаще остальных. Порядок в ответе не важен.

Ответ однозначный: на границе k-го места частоты не совпадают.

В работе: Десять самых частых поисковых запросов за час по журналу.

Пример 1

Ввод
nums = [1, 1, 1, 2, 2, 3]
k = 2
Вывод
[1, 2]

1 — три раза, 2 — два, 3 — один.

Пример 2

Ввод
nums = [4]
k = 1
Вывод
[4]

Ограничения

  • 1 ≤ длина nums ≤ 200 000 (в JavaScript — до 1 000 000)
  • 1 ≤ k ≤ число разных значений
  • Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def top_k(nums: list[int], k: int) -> list[int]:
Хеш-таблицаКучаСортировка подсчётомцельO(n log n)

Источник: отчёт о Яндексе, 2023. Условие пересказано своими словами.

Ещё давали: тег Авито на LeetCode.

Давали на собеседовании? Ответов пока мало — ваш поможет.