Search⌘ K
AI Features

Solution: Shortest Distance from All Buildings

Explore how to apply breadth-first search from buildings to empty land cells in a grid to find the location minimizing total travel distance. Understand auxiliary tracking of distance sums and reach counts for efficient solution and learn to handle obstacles and unreachable scenarios.

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

  • ...