Ctrl K

Перевернуть хвост

Средняя
Дан массив bits из нулей и единиц. За одну операцию можно выбрать позицию i и перевернуть все элементы от i до конца массива: нули становятся единицами, единицы — нулями. Верните наименьшее число операций, после которого в массиве останутся только единицы.
Пример 1
bits=[1, 1, 0, 0, 1] → 2

Переворачиваем хвост с позиции 2: [1, 1, 1, 1, 0]. Затем хвост с позиции 4: все единицы. Итого 2.

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

Одного переворота всего массива с позиции 0 достаточно.

Пример 3
bits=[1, 0, 1, 0] → 3
Ограничения
  • 1 ≤ len(bits) ≤ 10⁵
  • bits[i] — 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяДобраться до последней клетки СредняяСколько угодно сделок СредняяСамая длинная «качель» СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
bits=[1, 1, 0, 0, 1]
Ожидается
2

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