思路:
贪心算法,利用局部最优解达到全局最优解。在每个节点拓展能达到的最远距离,如果当前节点能达到的最远距离等于当前节点那么就无法继续前进,返回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));
}
}