Search⌘ K
AI Features

Solution: Shortest Distance from All Buildings

Explore how to solve the shortest distance from all buildings problem with a BFS-based approach. Understand how to reverse BFS from each building to empty cells, accumulate distances and reach counts, and identify the optimal house placement. This lesson guides you through implementing efficient grid traversal while handling obstacles and buildings.

Statement

Given an m x n integer grid grid, where each cell contains one of three values:

  • 00 represents empty land that can be freely traversed,

  • 11 represents a building that cannot be passed through,

  • 22 represents an obstacle that cannot be passed through.

You want to place a house on an empty land cell (00) such that the sum of shortest distances from the house to all buildings is minimized. Movement is restricted to four directions: up, down, left, and right.

Return the minimum total travel distance for such a placement. If no valid empty land cell can reach all buildings, return 1-1.

Note: The total travel distance is the sum of the shortest path distances from the chosen empty land cell to every building in the grid.

Constraints:

  • m == grid.length

  • n == grid[i].length

  • 11 \leq m, n 50\leq 50

  • grid[i][j] is either 00, 11, or 22 ...