)
准备生日礼物2026 华为OD机试真题 4月8日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述小明在一个充满人文关怀的公司上班公司每个月都要为该月生日的同事送一份生日小礼物该事项由小明负责请帮助小明统计某一月份应该准备多少礼物重复录入的员工生日以最后一次录入结果为准请不要重复统计避免浪费。2026 华为OD机试真题 4月8日华为OD上机新系统考试真题 100 分题型输入描述参数 1要发放礼物的月份取值 1 到 12。参数 2员工列表。参数 3员工生日日期列表该列表和员工列表中的数据对应存在一一对应关系长度一致。补充说明小明公司的员工人数不超过 100人。员工姓名是字母和数字的组合姓名长度大于 0小于 16字节。日期录入格式统一采用 Year/Month/Day Year 长度为 4Month和 Day 长度为 11 到 22系统保证录入日期为合法日期。不考虑同名多位员工的情况名字一致即可认为是同一员工在生产系统会通过工号区分本系统简化处理。输出描述该月份要准备的礼品个数。示例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月份。解题思路核心思想本题是一道简单的字符串解析与哈希表或者字典应用题。主要逻辑如下 1.输入解析依次读取目标月份、员工姓名列表、员工生日列表。 2.去重与更新题目要求“重复录入的员工生日以最后一次录入结果为准”。我们可以利用哈希表字典存储员工的姓名和对应的生日。顺序遍历姓名和生日列表将姓名作为键生日作为值存入字典。由于是按顺序处理后出现的同名员工会自动覆盖前面的记录从而天然满足题意。 3.统计结果遍历字典中的所有生日将其按/分割提取出月份部分。如果该月份等于目标月份则将计数器加一。 4.输出结果最后输出计数器的值。复杂度分析时间复杂度$O(N)$其中 $N$ 是员工的人数。我们需要遍历员工列表将其存入哈希表然后再遍历哈希表进行月份匹配两次遍历的时间复杂度均为 $O(N)$。空间复杂度$O(N)$使用哈希表存储每个员工的姓名和生日最坏情况下没有重复员工哈希表大小为