Ctrl K

Самый непохожий код

Сложная
Дан массив codes из bits-разрядных двоичных кодов: каждое число от 0 до 2^bits - 1. Расстояние между двумя кодами — количество разрядов, в которых они различаются (числа дополняются ведущими нулями до bits разрядов). Для каждого кода codes[i] найдите наибольшее расстояние от него до какого-нибудь другого элемента массива codes[j] (j ≠ i; значения при этом могут совпадать). Верните массив ответов той же длины, что и codes.
Пример 1
codes=[5, 2, 7], bits=3 → [3, 3, 2]

В двоичном виде это 101, 010 и 111. Коды 101 и 010 различаются во всех трёх разрядах. Для 111 самый далёкий — 010, у них 2 различающихся разряда.

Пример 2
codes=[0, 0], bits=2 → [0, 0]

Оба кода одинаковые, расстояние между ними 0.

Ограничения
  • 1 ≤ bits ≤ 17
  • 2 ≤ len(codes) ≤ 2^bits
  • 0 ≤ codes[i] < 2^bits
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКлючи и двери в лабиринте СложнаяПогасить все лампы СложнаяКонь против пешек СложнаяНаименьшее число ударов крестом СредняяПорядок букв по словарю Сложная
загружаем Python…
Вход
codes=[5, 2, 7], bits=3
Ожидается
[3, 3, 2]

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