Ctrl K

По числу единиц

Лёгкая
Дан массив неотрицательных целых чисел values. Отсортируйте его по количеству единиц в двоичной записи чисел: сначала числа с наименьшим числом единиц. Если у чисел единиц поровну, меньшее число идёт раньше. Верните отсортированный массив.
Пример 1
values=[10, 7, 4, 3, 16] → [4, 16, 3, 10, 7]

В двоичной записи 4 = 100 и 16 = 10000 по одной единице, 10 = 1010 и 3 = 11 — по две, 7 = 111 — три. Внутри групп по возрастанию: [4, 16, 3, 10, 7].

Пример 2
values=[5, 0, 6, 5] → [0, 5, 5, 6]

У 0 единиц нет, у 5 = 101 и 6 = 110 по две.

Ограничения
  • 1 ≤ len(values) ≤ 500
  • 0 ≤ values[i] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПобедитель с большинством голосов ЛёгкаяПотерянный билет ЛёгкаяСоседние значения ЛёгкаяДвойная бирка и пропавшая ЛёгкаяСлова с рабочих клавиш Лёгкая
загружаем Python…
Вход
values=[10, 7, 4, 3, 16]
Ожидается
[4, 16, 3, 10, 7]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 83 теста на сервере, включая скрытые.