Найти тему
81 подписчик

💡Задача: Игра в прыжки


Условие: Вам дан целочисленный массив nums. Изначально вы находитесь в первом индексе массива, и каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Верните true, если вы можете добраться до последнего индекса, или false в противном случае.

Пример:
Ввод: nums = [1,3,1,1,4]
Вывод: true
Объяснение: Переходим на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.

Ввод: nums = [3,2,1,0,4]
Вывод: false

Решение:

class Solution {
public boolean canJump(int[] nums) {
if(nums[0]==0 && nums.length!=1){
return false;
}
for(int i=1;i<nums.length;i++){
if(i==nums.length-1){
return true;
}
if(nums[i]==0){
int flag=1;
for(int j=i-1;j>=0;j--){
if(nums[j]>flag){
break;
}
if(j==0){
return false;
}
flag++;

}
}
}
return true;
}
}

Пишите свое решение в комментариях👇

Около минуты