2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 华为OD机试 - 新学校选址(Python)| 真题+思路+代码

华为OD机试 - 新学校选址(Python)| 真题+思路+代码

时间:2021-04-08 09:49:28

相关推荐

华为OD机试 - 新学校选址(Python)| 真题+思路+代码

华为OD机试 新学校选址

题目

为了解新学期学生暴涨的问题,小乐村要建立所新学校

考虑到学生上学安全问题,需要所有学生家到学校的距离最短.

假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,

能使得到学校到各个学生家的距离和最短

输入

第一行: 整数 n 取值范围 [1,1000],表示有 n 户家庭。

第二行: 一组整数 m 取值范围[0,10000] ,表示每户家庭的位置,所有家庭的位置都不相同。

输出描述

一个整数,确定的学校的位置

如果有多个位置,则输出最小的

示例一

输入

50 20 40 10 30

输出

20

解题思路

本题的目标是求数组中的中位数。

通过输入得到数组中的元素数量 n,再输入数组的所有元素,存储到列表 sites 中。

然后,调用函数solve_method()求解数组的中位数。该函数先将数组排序,如果数组元素个数是偶数,则返回数组中第len(sites) // 2 - 1个数;如果数组元素个数是奇数,则返回数组中第len(sites) // 2个数。

核心知识点

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。