Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Determine if you are able to reach the last index.
For example:
A = [2,3,1,1,4]
, return true
.
A = [3,2,1,0,4]
, return false
.
public class Solution { public boolean canJump(int[] nums) { //贪心思想,本题需要一个变量reach,代表能够达到的最远位置,注意i的范围,必须要i<=reach,因为当[0,2,2],这种情况,如果不加这个限制条件, //会显示可以到达的 int reach=0; for(int i=0;i<=reach&&i<nums.length;i++){ reach=Math.max(nums[i]+i,reach); } return reach>=nums.length-1?true:false; } }