You are given a 0-indexed array nums of length n. You are initially at nums[0]. Each element nums[i] represents the maximum jump length from index i. Return the minimum number of jumps to reach nums[n - 1]. The input guarantees you can always reach the last index.
Explanation: jump 1 step from index 0 to 1, then 3 steps to the last index.
Here is nums = [2, 3, 1, 1, 4]. Each value tells you the maximum distance you can jump forward. Can you find a path from the start to the end?