Ctrl K

Свободный двоичный код

Средняя
Дан список codes из n разных двоичных строк, каждая длиной ровно n. Нужно придумать код той же длины, которого в списке точно нет. Делаем это так: посчитайте, сколько единиц в каждой строке. Найдите наименьшее число k от 0 до n, такое что ни в одной строке из списка нет ровно k единиц (строк n, а вариантов n + 1, поэтому такое k всегда найдётся). Верните строку из k единиц, за которыми идут n - k нулей.
Пример 1
codes=["00", "11"] → '10'

Единиц в кодах 0 и 2, а количества 1 нет ни у кого. Ответ — одна единица и затем нули: "10".

Пример 2
codes=["010", "110", "001"] → '000'

Количества единиц: 1, 2, 1. Ноль единиц не встречается, поэтому ответ "000".

Пример 3
codes=["0"] → '1'

Код с нулём единиц занят, а с одной единицей — свободен: "1".

Ограничения
  • 1 ≤ n = len(codes) ≤ 16
  • len(codes[i]) == n
  • Строки состоят только из символов 0 и 1
  • Все строки в codes разные
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе пересказы фразы СредняяВсе способы расставить пробелы СложнаяСлова с кнопочного телефона СредняяРазложить анаграммы по группам СредняяСлово на сетке букв Средняя
загружаем Python…
Вход
codes=["00", "11"]
Ожидается
'10'

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