Ctrl K

Переключатели до конца ряда

Средняя
В ряд стоят n лампочек, все выключены. Строка pattern длины n из символов 0 и 1 показывает, какими они должны стать: 1 — горит, 0 — не горит. За один шаг можно выбрать позицию i и переключить все лампочки с i до конца ряда включительно: горящие гаснут, погасшие загораются. Верните наименьшее число шагов, после которого ряд совпадёт с pattern.
Пример 1
pattern="0110" → 2

Переключаем с позиции 1: «0000» → «0111», затем с позиции 3: «0111» → «0110». Два шага.

Пример 2
pattern="1010" → 4

Каждая следующая позиция отличается от предыдущей, поэтому шаг нужен с каждой: 4.

Пример 3
pattern="000" → 0

Ряд уже совпадает с образцом, ничего делать не нужно.

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

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