AlgoMooc
← 返回题库

P2569. 明日之星选举

简单通过率 52% · 提交 120 · 通过 62
哈希表排序模拟

小慕在负责一个“明日之星”评选活动的投票统计模块。他收到的每张选票是一个字符串,例如"zhangsan,hanmei",表示这张票赞成zhangsan成为明日之星,反对hanmei成为明日之星。赞成和反对的人名之间用逗号(,)分隔。 现在,小慕需要根据所有选票,筛选出最终获得数最多的n个人。如果两个人的赞成票数相同,则数更少的人排名更靠前;如果赞成票和反对票数都相同,则按照姓名的排序。 注意: - 1 <= votes.length <= 500 - 1 <= votes[i].length <= 20 - vote[i]由小写字母和逗号组成,且最多只有一个逗号。 - vote[i]中赞成票必选,反对票可选。 - n的取值范围为[1, 不同姓名的数量]

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

输入描述

第一行输入为M,表示选票的数量,其中1 <= M <= 500 接下来M行为选票具体内容 最后一行输入为N,表示最终当选明日之星的人员个数1 <= N <= 不同姓名的数量

输出描述

输出一个字符串,返回当选的N个人的姓名,顺序排列,逗号分割。

示例

示例 1

输入

6
zhangsan,hanmei
zhangsan,lisi
lisi
lisi
wangwu
hanmei
2

输出

zhangsan,lisi

示例 2

输入

4
zhangsan,lisi
lisi,wangwu
wangwu,qianliu
qianliu,zhangsan
2

输出

lisi,qianliu

说明:zhangsan:1赞成,1反对 lisi:1赞成,1反对 wangwu:1赞成,1反对 qianliu:1赞成,1反对 票数情况相同,按照字典序升序,返回lisi,qianliu

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

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

登录后查看题目图解

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

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