Best Meeting Point
A group of two or more people wants to meet and minimize the total travel distance. You are given a 2D grid of values 0 or 1, where each 1 marks the home of someone in the group. The distance is calculated usingManhattan Distance, where distance(p1, p2) = |p2.x - p1.x| + |p2.y - p1.y|
.
For example, given three people living at (0,0)
, (0,4)
, and(2,2)
:
1 - 0 - 0 - 0 - 1 | | | | | 0 - 0 - 0 - 0 - 0 | | | | | 0 - 0 - 1 - 0 - 0
The point (0,2)
is an ideal meeting point, as the total travel distance of 2+2+2=6 is minimal. So return 6.
[思路]
二维的等于一维的相加, 一维的最小点必在median点(用反证法可以证明).
在二维数组中找到中位数,如果是奇数的数字就取中位数
这个题很巧妙的就是二维数组的距离可以转化为2个一维数组的距离求解
http://blog.csdn.net/xudli/article/details/49420623
这里是比较好的讨论