您的位置:首页 > 其它

Leetcode 296 Best Meeting Point

2016-01-29 05:26 302 查看


Best Meeting Point

Total Accepted: 701 Total Submissions: 1714 Difficulty: Medium

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
这里是比较好的讨论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: