Ctrl K

Единицы вправо

Средняя
На полке в ряд стоят коробки, полные и пустые. Ряд задан строкой row из символов '1' (полная коробка) и '0' (пустая). За один ход можно поменять местами две **соседние** коробки. Найдите наименьшее число ходов, после которого все пустые коробки стоят слева, а все полные — справа.
Пример 1
row="0101" → 1

Меняем местами коробки с индексами 1 и 2 и получаем «0011». Хватает одного хода.

Пример 2
row="1100" → 4

Каждая полная коробка должна обойти обе пустые: 2 + 2 = 4 хода.

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

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