Search⌘ K
AI Features

Solution: Shortest Distance from All Buildings

Explore how to solve the shortest distance from all buildings problem by applying tree breadth-first search techniques. Learn to use BFS from buildings outward, accumulate distances, and determine optimal house placement on empty land in a grid with obstacles.

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 ...