题目链接:LeeCode55跳跃游戏
题目描述:
最开始是想用dp的想着想着成dfs了,思路是要想到达最后一个的必要条件是能到达倒数第二个,以此类推,只要搜到了第一个元素时就是通路
class Solution {
public static boolean canJump(int[] nums) {
boolean ifjump = ifjump(nums, nums.length - 1);
return ifjump;
}
public static boolean ifjump(int[] nums,int index){
if(index==0){
return true;
}
for (int i = index-1; i >=0 ; i--) {
//如果前面有能到当前点的,再向前找
if(nums[i]>=index-i){
return ifjump(nums,i);
}
}
//找完所有都没找到返回false
return false;
}
}