New update is available. Click here to update.

Topics

Given an array of non-negative integers ‘ARR’ of length ‘N’, you are initially positioned at the array's first index.

Each element in the array represents your maximum jump length at that position.

Return the minimum number of jumps required to reach the last index.

If it is not possible to reach the last index, return -1.

```
Input:
‘N’ = 3
‘ARR’ = [ 2, 1, 1 ]
The shortest way to reach index 2 is
Index 0 => Index 2
that requires only 1 jump.
```

Detailed explanation

```
1 <= T <= 10
1 <= N <= 10000
0 <= ARR [ i ] <= N
Time Limit: 1 sec
```

```
2
5
2 3 1 1 4
4
1 1 1 1
```

Sample Output 1:

```
2
3
```

```
For the first test case:-
The optimal path is:
0 => 1 => 4
For the second test case:-
0 => 1 => 2 => 3
```

```
2
5
2 3 0 1 4
3
1 0 2
```

```
2
-1
```