191. 华为OD-优秀学员统计(100分)
难度 2- 标签:
题目描述
题解
题库
华为OD-优秀学员统计(100分)
题目描述
公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个 ,每天的打卡记录记录当天打卡员工的 集合,一共 30 天。
请你实现代码帮助统计出打卡次数 top5 的员工。加入打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将 较小的员工排在前面。
注:不考虑并列的情况,按规则返回前 5 名员工的 即可,如果当月打卡的员工少于 5 个,按规则排序返回所有有打卡记录的员工 。
输入描述
第一行输入为新员工数量 ,表示新员工编号 为 0 到 , 的范围为
第二行输入为 30 个整数,表示每天打卡的员工数量,每天至少有 1 名员工打卡。
之后 30 行为每天打卡的员工 集合, 不会重复。
输出描述
按顺序输出打卡 top5 员工的 ,用空格隔开。
样例1
输入
11
4 4 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 2 2
0 1 7 10
0 1 6 10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
6 10
7 10
输出
10 0 1 7 6
说明
员工编号范围为 0 ~ 10, 为 10 的员工连续打卡 30 天,排第一, 为 0,1,6,7 的员工打卡都是两天, 为 0,1,7 的员工在第一天就打卡,比 为 6 的员工早,排在前面,0,1,7 按 升序排列,所以输出
样例2
输入
7
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
输出
0 1 2 3 4
说明
员工编号范围为 0-6, 为 0,1,2,3,4,5 的员工打卡次数相同,最早开始打卡的时间也一样,所以按 升序返回前 5 个
样例3
输入
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 2 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
0 1
0 1
输出
1 0
说明
只有两名员工参与打卡,按规则排序输出两名员工的