Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding
Ninjas X Naukri.com

Problem of the day

You are given heights, a 2D array of size ** 'rows'** x

You are a Ninja training for an upcoming battle. You are situated in the top-left cell, (0, 0), and you hope to travel to the bottom-right cell, (rows-1, columns-1) (i.e., 0-indexed).

You can move up, down, left, or right, and you wish to find a route that requires the minimum time. A route's time is the maximum absolute difference in heights between two consecutive cells of the route.

You must return the minimum time required to travel from the top-left cell to the bottom-right cell.

```
Input: 'heights' = [[1, 8, 8],[3, 8, 9],[5,3,5]]
Output: 2
Explanation: The route of [1,3,5,3,5] has a maximum absolute difference of 2 in consecutive cells.
```

Detailed explanation

```
The first line contains two space-separated integers, 'rows' and 'columns'.
Next 'rows' lines contain 'columns' space-separated integers.
```

```
The only line contains the minimum time you require to travel from the top-left cell to the bottom-right cell.
```

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

```
1
```

```
The figure above describes the following heights list (array).
Here, The route of [1,2,3,4,5] has a maximum absolute difference of 1 in consecutive cells, which is better than the route [1,3,5,3,5].
```

```
3 3
1 3 1
9 9 3
9 9 1
```

```
2
```

```
rows == heights.length
columns == heights[i].length
1 <= rows, columns <= 100
1 <= heights[i][j] <= 10^6
Where ‘rows’ is the number of rows and ‘columns’ is the number of columns.
Time Limit: 1 sec
```