Ctrl K

Различные двоичные числа внутри строки

Сложная
Дана строка bits из символов 0 и 1. Из неё можно выписать двоичное число: вычеркнуть любые символы (возможно, ни одного), не меняя порядок оставшихся, и оставить хотя бы один символ. Запись считается корректной, если в ней нет ведущих нулей: она начинается с 1 или равна ровно "0". Верните количество различных корректных записей, которые можно получить таким образом, по модулю 10⁹ + 7.
Пример 1
bits='110' → 5

Можно выписать числа 1, 0, 11, 10 и 110 — пять различных.

Пример 2
bits='0010' → 3

Без ведущих нулей получаются только 0, 1 и 10.

Пример 3
bits='000' → 1
Ограничения
  • 1 ≤ len(bits) ≤ 10⁵
  • bits состоит только из символов '0' и '1'
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяПодходит ли строка под шаблон СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
bits='110'
Ожидается
5

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