原题
题目意思即 每一格代表你当前最多能再往后跳几次,从第一格开始,如果能跳到最后一格返回true,反之为false。
思路:用一个下标记录当前最多能跳到哪一格,遍历一遍 ——> 如果当前格子不在可以跳到的范围内,则跳出遍历 ——> 如果最多能跳到格子长度大于数组长度,则为true;
/*** @param {number[]} nums* @return {boolean}*/
var canJump = function(nums) {var rightIndex = 1;for (let i = 0; i < nums.length; i++) {if (rightIndex<i+1) {break;}rightIndex=Math.max(rightIndex,i+nums[i]+1);}return rightIndex>=nums.length;
};