Ctrl K

Обратный отсчёт в строке цифр

Средняя
Дана строка digits из цифр. Можно ли разрезать её на **два или больше** непустых кусков так, чтобы числа, записанные в кусках (ведущие нули разрешены), шли обратным отсчётом — каждое следующее ровно на 1 меньше предыдущего? Например, "0201" режется на "02" и "01" — это числа 2 и 1, подходит. А "012" никак не подходит: числа должны убывать. Верните True, если такой разрез существует, иначе False.
Пример 1
digits='1110009' → True

Разрезаем на 11, 10, 009: числа 11, 10, 9 — каждое на единицу меньше предыдущего.

Пример 2
digits='4320' → False

Подходящего разреза нет: 4, 3, 2, 0 ломается на последнем шаге, а 43, 20 или 432, 0 не идут подряд.

Пример 3
digits='00100' → True
Ограничения
  • 1 ≤ len(digits) ≤ 20
  • Строка состоит только из цифр
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлова с кнопочного телефона СредняяВсе правильные скобочные строки СредняяСлово на сетке букв СредняяIP-адреса из цепочки цифр СредняяНарезка слова на палиндромы Средняя
загружаем Python…
Вход
digits='1110009'
Ожидается
True

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