Jump Game
给一个数组, 数组上的数都是可以跳的最远距离, 求是否能从左边跳到右边. 这个题是贪婪算法, 我们用一个变量cover记录能到的最远距离, 那么我们只需要关心cover什么时候能超过数组长度即可.
public class Solution {
public boolean canJump(int[] nums) {
if(nums.length == 0 || nums == null)
return false;
if(nums.length == 1)
return true;
int cover = 0;
for(int i = 0 ; i < nums.length && cover >= i; i++) {
if(cover < nums[i]+i)
cover = nums[i] + i;
if(cover >= nums.length-1)
return true;
}
return false;
}
}