Solution: Unique Paths III
Explore the backtracking technique in this lesson to solve the Unique Paths III problem. You will learn how to recursively find all possible paths from start to end on a grid, visiting every empty cell exactly once and avoiding obstacles. The lesson covers in-place marking for visited cells, direction exploration, and backtracking to efficiently count unique paths.
We'll cover the following...
Statement
You are given a grid, where each cell, grid[i][j], can have one of the following values:
1indicates the starting point. There is exactly one such square.2marks the ending point. There is exactly one such square.0represents empty squares that can be walked over.-1represents obstacles that cannot be crossed.
Your task is to return the total number of unique four-directional paths from the starting square (1) to the ending square (2), such that every empty square is visited exactly once during the walk.
Constraints:
grid.lengthgrid[i].length...