Ctrl K

Прыжки по целым плиткам

Средняя
Дорожка выложена плитками, их состояние записано строкой tiles: '0' — целая плитка, '1' — треснувшая, на неё вставать нельзя. Вы стоите на плитке с индексом 0 (она всегда целая). За один прыжок с плитки i можно перелететь на любую плитку j, для которой i + min_step ≤ j ≤ i + max_step, если j не выходит за конец дорожки и плитка j целая. Верните True, если можно добраться до последней плитки, и False иначе.
Пример 1
tiles="0010100", min_step=2, max_step=3 → True

С плитки 0 можно прыгнуть на 2 или 3; плитка 2 треснула, поэтому прыгаем на 3. С плитки 3 доступны 5 и 6 — обе целые, прыгаем сразу на последнюю, 6.

Пример 2
tiles="00110", min_step=1, max_step=1 → False

Прыжок всегда ровно на одну плитку: с 0 на 1, а дальше плитка 2 треснула — дальше пути нет.

Ограничения
  • 2 ≤ len(tiles) ≤ 10⁵
  • tiles состоит только из символов '0' и '1'
  • tiles[0] == '0'
  • 1 ≤ min_step ≤ max_step < len(tiles)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодгонка куска строки в рамках бюджета СредняяЧередование после прокрутки СредняяСамая длинная серия одинаковых ответов СредняяПроверка трёх зданий СредняяПодрезать и нарастить слово Средняя
загружаем Python…
Вход
tiles="0010100", min_step=2, max_step=3
Ожидается
True

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