Код 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
- Сначала частоты, потом отбор по ним.
- Map сохраняет порядок вставки, а сортировка в JS стабильна - равные частоты сами останутся в порядке появления.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.