45. Jump Game II

You are given a 0-indexed array of integers nums of length n. You are initially positioned at nums[0].
Each element nums[i] represents the maximum length of a forward jump from index i. In other words, if you are at nums[i], you can jump to any nums[i + j] where:
0 <= j <= nums[i] and
i + j < n
Return the minimum number of jumps to reach nums[n - 1]. The test cases are generated such that you can reach nums[n - 1].

var jump = function(nums) {
    let left=0;
    let right=0;
    let steps=0;
    while(right<nums.length-1){
        let max=0;
        for(let i=left;i<=right;++i){
            max=Math.max(nums[i]+i,max);
        }
        left=right+1;
        right=max;
        steps++;
    }
    return steps;
};