AlgoMooc
← 返回题库

K0034. 法术对决

简单通过率 48% · 提交 159 · 通过 76
排序模拟字符串

在小慕的项目中,他正在组织一场名为「代码对决」的编程挑战赛,每位参赛者会获得一个算法评分。请计算所有参赛者算法评分的,并返回算法评分等于中位数的参赛者姓名列表。如果有多人符合要求,则输出。 中位数的定义如下: - 如果数据的个数是奇数,则中位数是排序后居中位置的那个数。 - 如果数据的个数是偶数,则中位数是排序后中间两个数中较小的那个数。

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

输入描述

第一行包含一个整数 `num`,表示巫师的人数,满足 `1 <= num <= 100`。 接下来的 `num` 行,每行包含两个部分: - `name`(字符串),表示巫师的名字,仅由英文字母和数字组成,长度在 `[1,15]` 之间,且不重复。 - `score`(整数),表示巫师的法术评分,范围为 `[0,100]`。

输出描述

输出分数等于**中位数**的巫师姓名列表,巫师之间以**单个空格**分隔,**按照输入顺序的逆序**排列。

示例

示例 1

输入

5
Mage02 34
Sorcerer01 32
Wizard03 34
Enchanter04 56
Warlock05 79

输出

Wizard03 Mage02

说明:巫师的法术评分排序后为 `[32, 34, 34, 56, 79]`,中位数是 `34`。 评分等于 `34` 的巫师有两人:`Mage02` 和 `Wizard03`,按照输入顺序的逆序排列,输出 `Wizard03 Mage02`。

示例 2

输入

4
Apprentice01 10
Invoker1b 10
Conjurer2a 9
Summoner02 9

输出

Summoner02 Conjurer2a

说明:巫师的法术评分排序后为 `[9, 9, 10, 10]`,中位数是 `9`。 评分等于 `9` 的巫师有两人:`Conjurer2a` 和 `Summoner02`,按照输入顺序的逆序排列,输出 `Summoner02 Conjurer2a`。

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

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

登录后查看题目图解

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

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