Shortest Path in a Grid with Obstacles Elimination - Problem
You are given an m x n integer matrix grid where each cell is either 0 (empty) or 1 (obstacle). You can move up, down, left, or right from and to an empty cell in one step.
Return the minimum number of steps to walk from the upper left corner (0, 0) to the lower right corner (m - 1, n - 1) given that you can eliminate at most k obstacles.
If it is not possible to find such walk, return -1.
Input & Output
Example 1 — Basic Elimination
$
Input:
grid = [[0,1,1],[1,1,1],[1,0,0]], k = 1
›
Output:
4
💡 Note:
Shortest path: (0,0) → (1,0) eliminate obstacle → (2,0) → (2,1) → (2,2) in 4 steps
Example 2 — No Elimination Needed
$
Input:
grid = [[0,0,0],[1,1,0],[0,0,0]], k = 1
›
Output:
4
💡 Note:
Path without elimination needed: (0,0) → (0,1) → (0,2) → (1,2) → (2,2) in 4 steps
Example 3 — Impossible Case
$
Input:
grid = [[0,1,1],[1,1,1],[1,1,0]], k = 1
›
Output:
-1
💡 Note:
Need to eliminate multiple obstacles to reach destination, but k=1 allows only one elimination
Constraints
- m == grid.length
- n == grid[i].length
- 1 ≤ m, n ≤ 40
- 1 ≤ k ≤ m × n
- grid[i][j] is either 0 or 1
- grid[0][0] == grid[m-1][n-1] == 0
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code