Код Junior Реализация с нуля обновлено

Выбор баннеров по весу

Условие

Из массива баннеров { id, weight } выбери count штук с наибольшим весом, по убыванию веса. Входной массив не мутируй.

Что проверяют тесты

  • выбирает тяжёлые

  • count больше длины

  • нулевой count

  • вход не мутируется

Как подойти

Прямолинейно: сортировка плюс срез, O(n log n). При выборе k из большого n куча размера k даёт O(n log k) - уместный follow-up. Настоящая ротация баннеров по весу обычно вероятностная, а не «топ k» - стоит уточнить у интервьюера, что именно нужно.

Подсказки: 2
  1. Копия перед сортировкой обязательна.
  2. slice сам обрежет, если count больше длины.

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

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