Ctrl K

Добраться до последней клетки

Средняя
Перед вами ряд клеток, в каждой записано число: lengths[i] — наибольшая длина прыжка вперёд из клетки i. Из клетки i можно перепрыгнуть в любую клетку от i + 1 до i + lengths[i] (если lengths[i] = 0, из этой клетки дальше не уйти). Вы стоите в клетке 0. Верните True, если можно допрыгать до последней клетки, и False иначе.
Пример 1
lengths=[1, 3, 0, 0, 2] → True

Из клетки 0 прыгаем в клетку 1, а оттуда на 3 вперёд — сразу в последнюю клетку 4.

Пример 2
lengths=[2, 1, 0, 3] → False

Из клеток 0, 1 и 2 дальше клетки 2 не уйти, а в ней прыжок нулевой.

Пример 3
lengths=[0] → True

Мы уже стоим в последней клетке.

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

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