Path With Minimum Effort
Graph
medium
Score: 10
You are a hiker preparing for an upcoming hike. You are given height
, a 2D array of size rows x columns
, where height[row][col]
represents the height of cell (row, col)
. 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 effort.
A route’s effort is the maximum absolute difference in heights between two consecutive cells of the route.
Return the minimum effort required to travel from the top-left cell to the bottom-right cell.
Input format
First Parameter - matrix height
of size rows x columns
Output Format
Return the number.
Example 1:
Input:
3 3
1 2 2
3 8 2
5 3 5
Output:
2
Explanation:
The route of [1,3,5,3,5] has a maximum absolute difference of 2 in consecutive cells.
This is better than the route of [1,2,2,2,5], where the maximum absolute difference is 3.
Example 2:
Input:
3 3
1 2 3
3 8 4
5 3 5
Output:
1
Explanation: 3 3 represents the size of the matrix.
The route of [1,2,3,4,5] has a maximum absolute difference of 1 in consecutive cells, which is better than route [1,3,5,3,5].
Example 3:
Input:
5 5
1 2 1 1 1
1 2 1 2 1
1 2 1 2 1
1 2 1 2 1
1 1 1 2 1
Output:
0
Explanation: 5 5 represents the size of the matrix.
This route does not require any cost.
Constraints:
rows
==height.length
columns
==height[i].length
- 1 <=
rows, columns
<= 100 - 1 <=
height[i][j]
<= 106 - Expected Time Complexity: O(
rows
*cols
*log(MAX_HEIGHT)
) - Expected Auxiliary Space: O(
m
*n
)