- 假设
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;
};