AlgoMooc
← 返回题库

K0055. 魔法数据的中位秘钥

简单通过率 48% · 提交 149 · 通过 71
排序数学模拟

小慕在整理项目数据时遇到了一个棘手的问题:他需要从一组混乱的数值序列中提取出关键参数。为此,他必须先对序列进行,但在那之前,他要用一个被称为“中位基准值”的数值来修正偏差。根据项目组的经验,最合适的“中位基准值”是取自该数值序列按升序排列后前三分之一元素的。 “中位基准值”的定义如下: - 若元素个数为奇数,则取中间那个数; - 若为偶数,则取中间两个数的平均值,。 此外,在取前三分之一的数字时,如果不能整除,则向上取整(例如:5 的三分之一向上取整为 2)。 请你帮助小慕完成这一数据处理的关键步骤。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入一个正整数 `count`,表示魔法能量序列中的元素个数,满足 `1 <= count <= 10000`。 第二行输入 `count` 个非负整数,表示魔法能量序列 `arr`,其中 `0 <= arr[i] <= 100000`。

输出描述

输出一个整数,表示提取出的“中位秘钥”。

示例

示例 1

输入

10  
2 3 1 6 1 10 2 5 9 8

输出

2

说明:- 按升序排列为:`[1, 1, 2, 2, 3, 5, 6, 8, 9, 10]` - 前三分之一个数为 `ceil(10/3) = 4`,即 `[1, 1, 2, 2]` - 中位数为 `(1 + 2) // 2 = 1.5` 向上取整为 `2`

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。