55. 跳跃游戏

100 阅读1分钟

55. 跳跃游戏

  • 假设n 代表最后一项,1代表第一项
  • 要想跳到第n项,需要找到1 ~ n-1这个区间内某一项,使得他的值加上下标可以跳到第n项
  • 满足这一项的也不需要前面的项 跳到该位置
  • 当满足第一个位置跳到这个过渡的项,那么说明是可以跳到最后一项的
  • 如果中间存在断层,说明不能从第一项跳到最后一项的于是返回false
var canJump = function (nums) {
    var res = nums.length - 1;
    for (var i = res - 1; i >= 0; i--) {
        if (res - i <= nums[i]) {
            res = i;// 该表了for循环的起始条件
        }
    }
    return res == 0;
};

image.png