var jump = function(nums) {
let curIndex = 0
let nextIndex = 0
let step = 0
// 在遍历数组时,我们不访问最后一个元素,这是因为在访问最后一个元素之前,
// 我们的边界一定大于等于最后一个位置,否则就无法跳到最后一个位置了。
// 如果访问最后一个元素,在边界正好为最后一个位置的情况下,
// 我们会增加一次「不必要的跳跃次数」,因此我们不必访问最后一个元素。
for(let i = 0; i < nums.length - 1; i++) {
// 在能跳的范围内取跳到最远的地方
nextIndex = Math.max(nums[i] + i, nextIndex)
if(i === curIndex) {
// 跳到哪了
curIndex = nextIndex
step++
}
}
return step
};