
Path With Minimum Effort (medium)
Problem Statement
You are given a 2D array heights[][] of size n x m, where heights[n][m] represents the height of the cell (n, m).
Find a path from the top-left corner to the bottom-right corner that minimizes the effort required to travel between consecutive points, where effort is defined as the absolute difference in height between two points. In a single step, you can either move up, down, left or right.
Return the minimum effort required for any path from the first point to the last.
Examples
Example 1:
- Input: heights =
[[1,2,3],
[3,8,4],
[5,3,5]]
- Expected Output:
1 - Justification: The path with the minimum effort is along the edges of the grid (right, right, down, down) which requires an effort of 1 between each pair of points.
Example 2:
- Input: heights =
[[1,2,2],
[3,3,3],
[5,3,1]]
- Expected Output:
2 - Justification: The path that minimizes the maximum effort goes through (1,2,2,3,1), which has a maximum effort of 2 (from 3 to 1).
Example 3:
- Input: heights =
[[1,1,1],
[1,1,1],
[1,1,1]]
- Expected Output:
0 - Justification: The path that minimizes the maximum effort goes through (1,1,1,1,1), which has a maximum effort of 0.
Constraints:
rows == heights.lengthcolumns == heights[i].length1 <= rows, columns <= 100- 1 <= heights[i][j] <= 10<sup>6</sup>
Constraints:
rows == heights.lengthcolumns == heights[i].length1 <= rows, columns <= 100- 1 <= heights[i][j] <= 10<sup>6</sup>
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory