Problem
Ask
Submissions

Problem: Unique Paths III

Medium
30 min
Explore the Unique Paths III problem where you use backtracking to find the total number of ways to move from start to end while visiting all empty squares once. Understand constraints, problem setup, and implement solutions in a practical coding environment.

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 \leqm,nm, n 20\leq 20

  • 11 \leq m×nm \times n 20\leq 20

  • 1-1 \leq grid[i][j] 2\leq 2

  • There is exactly one starting cell and one ending cell.

Problem
Ask
Submissions

Problem: Unique Paths III

Medium
30 min
Explore the Unique Paths III problem where you use backtracking to find the total number of ways to move from start to end while visiting all empty squares once. Understand constraints, problem setup, and implement solutions in a practical coding environment.

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 \leqm,nm, n 20\leq 20

  • 11 \leq m×nm \times n 20\leq 20

  • 1-1 \leq grid[i][j] 2\leq 2

  • There is exactly one starting cell and one ending cell.