Problem Link
Solution
class Solution {
public int jump(int[] nums) {
int n = nums.length;
int totalJumps = 0;
int destination = n - 1;
int coverage = 0;
int lastIdx = 0;
// base case
if(n == 1) return 0;
for(int i=0; i<n; i++) {
coverage = Math.max(coverage, i+nums[i]);
if(i == lastIdx) {
lastIdx = coverage;
totalJumps++;
if(coverage >= destination) {
return totalJumps;
}
}
}
return totalJumps;
}
}

Top comments (0)