华为OD机试 Python 【服务中心选址】

描述

你是一个快递公司的经理,你想在一条繁忙的街道上找一个地点建立新的服务中心。你已经知道街道上每个需要服务的区域的具体位置。你的任务是选择一个地点,使得这个服务中心到街上所有区域的距离之和最短。

输入:

开始是一个数字 n,表示有多少个需要服务的区域(1 ≤ n ≤ 10^5)。
接下来的 n 行,每行都有两个数字 left 和 right。这表示一个区域的起点和终点。

输出:

返回服务中心的位置 location,使得到所有区域的距离之和最短。

距离计算规则:

如果一个区域的终点 right 小于服务中心位置 location,那么距离为 location - right。

如果一个区域的起点 left 大于服务中心位置 location,那么距离为 left - location。

如果服务中心位置 location 在 left 和 right 之间,则距离为0。
示例:

输入:

3
1 2
3 4
10 20

输出:

8

代码

def optimal_distance(count, client_positions):
    

你可能感兴趣的:(华为od,python,算法,华为机试)