思路:
贪心算法,利用局部最优解达到全局最优解。在每个节点拓展当前能到达的最远距离,如果当前能到达的最远距离为节点本身说明已经没办法前进了返回false。当前能到达的最远距离大于等于末尾节点则可以到达返回true。
/**
* Created by marsares on 15/7/1.
*/
public class JumpGame {
public boolean canJump(int[] nums) {
int max=0;
for(int i=0;i<nums.length;i++){
if(i+nums[i]>max)max=i+nums[i];
if(max>=nums.length-1)return true;
if(max==i)return false;
}
return true;
}
public static void main(String[]args){
JumpGame jg=new JumpGame();
int[]nums={0};
System.out.println(jg.canJump(nums));
}
}