Ctrl K

Единицы едут вправо

Средняя
Дана строка bits из нулей и единиц. За один ход можно выбрать единицу, сразу за которой стоит ноль, и сдвинуть её вправо: она едет, пока не упрётся в другую единицу или в конец строки. Например, из "0100101" ходом единицы с позиции 1 получается "0001101". Верните наибольшее число ходов, которое можно сделать, выбирая их в удачном порядке.
Пример 1
bits='10100' → 3

Сначала двигаем левую единицу: она доезжает до соседней, «01100». Затем правую — до конца строки, «01001». Затем снова левую: «00011». Всего 3 хода.

Пример 2
bits='0011' → 0

Ни за одной единицей не стоит ноль, поэтому ходов нет.

Пример 3
bits='1110' → 3

Двигаем по очереди третью, вторую и первую единицу — каждая успевает сдвинуться один раз.

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

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