Best Meeting Point

Asked atLLinkeye
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below

The problem

Given an m x n binary grid grid where each 1 marks the home of one friend, return the minimal total travel distance. The total travel distance is the sum of the distances between the houses of the friends and the meeting point. The distance is calculated using Manhattan Distance, where distance(p1, p2) = |p2.x - p1.x| + |p2.y - p1.y|.

Input: grid = [[1,0,0,0,1],[0,0,0,0,0],[0,0,1,0,0]] Output: 6 Explanation: Given three friends living at (0,0), (0,4), and (2,2). The point (0,2) is an ideal meeting point, as the total travel distance of 2 + 2 + 2 = 6 is minimal. So return 6.

**Input: **grid = [[1,1]] **Output: **1

**Input: **grid = [[0,1],[1,0],[0,1]]

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • grid[i][j] is either 0 or 1.
  • There will be at least two friends in the grid.

cpp

class Solution {
public:
    int minTotalDistance(vector<vector<int>>& grid) {
        // User code goes here
    }
};

java

class Solution {
    public int minTotalDistance(int[][] grid) {
        // User code goes here
    }
}

python

class Solution:
    def minTotalDistance(self, grid):
        # User code goes here

javascript

class Solution {
    minTotalDistance(grid) {
        // User code goes here
    }
}

csharp

public class Solution
{
    public int MinTotalDistance(int[][] grid)
    {
        // User code goes here
    }
}

go

func minTotalDistance(grid [][]int) int {

}
Stuck? Show a way to structure it+
  1. 01Collect row and column positions for every person
  2. 02Find the median coordinate in each dimension
  3. 03Sum absolute row and column distances
  4. 04Explain separability of Manhattan distance

Reference answer

Then expect these follow-ups

  • What if each person has a weight?

    Tests: follow-up reasoning

  • How can sorted traversal avoid sorting rows?

    Tests: follow-up reasoning

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question