一、题目描述
公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。
请你实现代码帮助统计出打卡次数top5的员工。假如打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。
注:不考虑并列的情况,按规则返回前5名员工的id即可,如果当月打卡的员工少于5个,按规则排序返回所有有打卡记录的员工id。
二、输入描述
第一行输入为新员工数量N,表示新员工编号id为0到N-1,N的范围为[1,100];
第二行输入为30个整数,表示每天打卡的员工数量,每天至少有1名员工打卡;
之后30行为每天打卡的员工id集合,id不会重复;
三、输出描述
按顺序输出打卡top5员工的id,用空格隔开。
补充说明
同一天打卡的员工没有时间上早晚的区别。不保证所有员工都会打卡。排名只针对有打卡记录的员工。
四、测试用例
测试用例1
1、输入
5
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 3
1
1
1
1
博客详细介绍了如何使用Java解决华为在线测评的一道题目,内容包括题目描述、输入输出说明、解题思路及算法源码。题目要求统计一个月内打卡次数最多的前5名员工,依据是打卡次数、首次打卡日期和员工ID。博主提供了完整的解决方案和示例运行结果。
订阅专栏 解锁全文
3682

被折叠的 条评论
为什么被折叠?



