解题思路
这道题的核心是 哈希表。
我们需要统计某个月份过生日的员工人数,但有一个关键条件:
- 同一员工如果被重复录入,只以最后一次录入为准
- 同一员工不能重复统计
P14208.准备生日礼物(100分)
题目内容
小明在一个充满人文关怀的公司上班,公司每个月都要为该月生日的同事送一份生日小礼物,该事项由小明负责,请帮助小明统计某一月份应该准备多少礼物,重复录入的员工生日以最后一次录入结果为准,请不要重复统计,避免浪费。
输入描述
参数 1,要发放礼物的月份,取值 1 到 12。
参数 2,员工列表。
参数 3,员工生日日期列表,该列表和员工列表中的数据对应存在一一对应关系,长度一致。
输出描述
该月份要准备的礼品个数。
补充说明
- 小明公司的员工人数不超过 100 人。
- 员工姓名是字母和数字的组合,姓名长度大于 0,小于 16 字节。
- 日期录入格式统一采用 Year/Month/Day ,Year 长度为 4,Month 和 Day 长度为 1 到 2,系统保证录入日期为合法日期。
- 不考虑同名多位员工的情况,名字一致即可认为是同一员工(在生产系统会通过工号区分,本系统简化处理)。
样例1
输入
5,["Alice", "Bob", "Charlie", "David", "Eve", "Frank", "Grace", "Helen"],["1985/5/10", "1990/10/11", "1995/10/11", "2000/11/10", "2005/05/01", "2010/10/13", "2015/10/14", "2020/5/2"]
输出
3
说明
在 5 月份出生的员工有 3 人 ,因此返回为 3 。
样例2
输入
10,["Alice","Bob","Charlie","David","Eve","Frank","Grace","Helen"],["1985/05/10","1990/10/11","1995/10/11","2000/11/10","2005/10/13","2010/10/13","2015/10/14","2020/10/15"]
输出
6
说明
在 10 月份出生的员工有 6 人,因此返回 6 。
样例3
输入
5,["Alice", "Bob", "Charlie", "Alice", "Eve", "Frank", "Grace", "Helen"],["1985/5/10", "1990/10/11", "1995/10/11", "1985/7/10", "2005/05/01", "2010/10/13", "2015/10/14", "2020/5/2"]
输出
2
说明
5 月份出生的员工有 2 个,因此返回 2。
说明:Alice 重复录入了,第一次录入出生月份为 5 月,第二次录入出生月份为 7 月,因此 Alice 不被统计到 5 月份。