a minute read (About 168 words)
Leetcode/55. Jump Game
55. Jump Game
题目
解题思路
- 判断是否到达或者不能到达
- 继续遍历
- 如果当前位置到当前位置可到达最远位置之间,所有点都满足这种情况,就跳到可以跳到的最远位置

- 不满足,则找最后一个满足的点,这点就是下一步的点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public boolean canJump(int[] nums) { return jump(nums, 0); } private boolean jump(int[] nums, int current) { if(current+nums[current]>=nums.length-1) { return true; } if(nums[current]==0)return false; int maxi = current+1; while(maxi+nums[maxi]<current+nums[current])maxi++; if(maxi<current+nums[current]) { return jump(nums, maxi); }else { return jump(nums, current+nums[current]); } }
}
|