#2257. 求中位数
求中位数
求中位数
说明
中位数指的是一组数,如果按照大小排序排好后最中间的那个数的值,如果有偶数个元素,那么就是最中间两个数的平均数!
比如:2 5 8 1 6,排序后的结果为 1 2 5 6 8,那么这组数的中位数就是 5!
再比如:8 9 1 2 3 0,排序后的结果为 0 1 2 3 8 9,那么这组数的中位数就是 (2+3)/2=2.5。
输入格式
- 第一行:一个整数
n代表有n个数。 - 第二行:
n个数的值。
输出格式
中位数(结果保留 1 位小数)。
样例
输入数据 1
5
2 5 8 1 6
输出数据 1
5.0
解题思路
- 排序:首先将输入的
n个数进行排序。 - 判断奇偶:判断
n是奇数还是偶数:- 如果是奇数,中位数就是排序后的中间元素。
- 如果是偶数,中位数是排序后中间两个数的平均值。
- 输出结果:根据中位数的计算结果输出,结果保留 1 位小数。
时间复杂度
排序的时间复杂度是 O(n log n),因此本题的时间复杂度是 O(n log n)。