Код Middle Куча обновлено

K самых частых

Условие

Верни k самых частых элементов, по убыванию частоты. При равенстве - по первому появлению.

Примеры

topK([1, 1, 1, 2, 2, 3], 2) // [1, 2]
topK([1], 1) // [1]
topK([1, 2], 0) // []

Как подойти

Частоты + сортировка O(n log n). Ответ уровня «сильный»: куча размера k даёт O(n log k), а bucket sort по частоте - O(n). Назови хотя бы один из них.

Подсказки: 2
  1. Сначала частоты, потом отбор по ним.
  2. Map сохраняет порядок вставки, а сортировка в JS стабильна - равные частоты сами останутся в порядке появления.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме