9.34 邮局选址问题

题目】:

  一条直线上有居民点,邮局只能建在居民点上,给定一个有序整型数组arr,每个值表示居民点的一维坐标,再给定一个正数num,表示邮局数量,选择num个居民点建立num个邮局,使所有的居民点到邮局的总距离最短,返回最短的总距离

  举例:

    arr=[1, 2, 3, 4, 5, 1000], num=2

    第一个邮局建立在3位置,第二个邮局建立在1000位置,那么1位置到邮局距离为2,2位置到邮局距离为1,3位置到邮局距离为0,4位置到邮局距离为1,5位置到邮局距离为2,1000位置到邮局距离为0,所以这种方案下的总距离为6,其它任何方案的总距离都不会比该方案的总距离更短,所以返回6

题目来源:左程云老师《程序员代码面试指南》

猜你喜欢

转载自www.cnblogs.com/latup/p/10205333.html