55. Jump Game
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.
Example 1:
Input: [2,3,1,1,4] Output: true Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.
Example 2:
Input: [3,2,1,0,4] Output: false Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index.
题意:将数组的当前项的值作为步长向后移动,是否能到达数组的最后一项
代码如下:
/** * @param {number[]} nums * @return {boolean} */ //last:上一步步长,curr:当前步步长, var canJump = function(nums) { var last=0; var curr=0; var len=nums.length; for(var i=0;i<len;i++){ //不能到达终点或者跨过终点 if(i>curr){ return false; } //继续下一步 if(i>last){ last=curr; } curr=Math.max(curr,i+nums[i]); } return true; };