Код Junior Реализация с нуля обновлено
Выбор баннеров по весу
Условие
Из массива баннеров { id, weight } выбери count штук с наибольшим весом, по убыванию веса. Входной массив не мутируй.
Что проверяют тесты
выбирает тяжёлые
count больше длины
нулевой count
вход не мутируется
Как подойти
Прямолинейно: сортировка плюс срез, O(n log n). При выборе k из большого n куча размера k даёт O(n log k) - уместный follow-up. Настоящая ротация баннеров по весу обычно вероятностная, а не «топ k» - стоит уточнить у интервьюера, что именно нужно.
Подсказки: 2
- Копия перед сортировкой обязательна.
- slice сам обрежет, если count больше длины.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.