Search⌘ K
AI Features

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.

Statement

You are given a  m×nm \times n  integer array, grid, where each cell, grid[i][j], can have one of the following values:

  • 1 indicates the starting point. There is exactly one such square.

  • 2 marks the ending point. There is exactly one such square.

  • 0 represents empty squares that can be walked over.

  • -1 represents 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:

  • mm ==== grid.length

  • nn ==== grid[i].length

  • 11 \leq ...