找个大家都不累的见面地点:从“最佳聚会点”聊聊算法里的中位数智慧

找个大家都不累的见面地点:从“最佳聚会点”聊聊算法里的中位数智慧

作者:Echo_Wish


一、引子:现实生活里的一个小难题

不知道你有没有遇到过这种情况。

几个朋友准备线下聚会,但大家住在城市不同位置:

  • 有人住城东
  • 有人住城西
  • 有人住城南

于是群里就会出现经典问题:

“咱们到底在哪见面最合适?”

如果选在某个人家附近,那肯定有人会抱怨:

“我过去要一个小时!”

但如果选一个“折中位置”,大家走的路可能就会更均衡。

这个问题其实就是一道非常经典的算法题:

Best Meeting Point(最佳聚会点)

很多大厂面试都问过这题。

但有意思的是,这题看起来像个地理问题,本质却是一个非常优雅的数学结论:

最优解往往是中位数。

今天咱就一起聊聊这件事。


二、问题描述:二维网格中的最佳位置

题目是这样的:

给定一个二维网格:

0 0 0 0 1 0 0 0 0 0 0 0 1 0 0

其中: