Ctrl K

Робот-челнок

Лёгкая
Дан массив неотрицательных чисел cells — ряд клеток со счётчиками. Робот ставится на клетку, где счётчик равен 0, и выбирает направление: влево или вправо. Дальше он повторяет: - если он вышел за пределы ряда, процесс заканчивается; - если счётчик под ним равен 0, он делает шаг в текущем направлении; - иначе он уменьшает счётчик на 1, разворачивается и делает шаг в новом направлении. Старт (клетка и направление) считается удачным, если к концу процесса все счётчики стали нулевыми. Верните число удачных стартов.
Пример 1
cells=[3, 0, 1, 0, 1] → 1

Из клетки 1 слева сумма 3, справа 2 — всё обнуляется, только если пойти влево, к большей сумме. Из клетки 3 суммы 4 и 1 слишком разные, оба направления неудачны.

Пример 2
cells=[0] → 2

Всё уже обнулено: подходят оба направления.

Пример 3
cells=[5, 0, 1] → 0

Суммы по сторонам 5 и 1 — слишком разные, робот уйдёт с ненулевыми клетками.

Ограничения
  • 1 ≤ len(cells) ≤ 100
  • 0 ≤ cells[i] ≤ 100
  • Хотя бы один элемент cells равен 0
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСнова у причала ЛёгкаяХватит ли мест в шаттле СредняяКто досыпает кофе СредняяВолны накопленных сумм СредняяПиковая высота штоков насоса Сложная
загружаем Python…
Вход
cells=[3, 0, 1, 0, 1]
Ожидается
1

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