社区常称:社交网络相同爱好好友查询
通过率 35% · 提交 77 · 通过 27
在一个项目中,小慕需要处理一个用户关系网络,用户之间通过“关注”关系构成一个有向图。每个用户包含两个属性: - 用户ID(整数字符串) - 兴趣标签列表(字符串数组) 现在需要实现一个函数,查询在指定用户其他用户的兴趣和给定用户兴趣有交集的用户ID列表(不包含该用户自身)。 注意:兴趣有交集指的是两个用户的兴趣列表存在共同元素。 - 实现函数:queryFriends(nodes, relations, myId, maxHop)
这类题属于算法机考高频题型中「200分 / 华为OD」方向的高频题型,通常考察对「200分 / 华为OD」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
示例 1
输入示例
4 0,music,sports 1,music,reading 2,music 3,play,music,sports 4 0,1 1,2 2,3 0,3 0 2
输出示例
1,music 3,music,sports 2,music
从 ID = "0" 出发,兴趣相同(2 跳内)可以匹配到用户 "1"、"2"、"3"。同时用户 "1"、"3" 跳数少,因此用户 "1"、"3" 在用户 "2" 之前。又因为 "1" 相比于 "3" 整数序靠前,因此用户 "1" 在用户 "3" 之前。用户 "3" 中,匹配到了多项爱好,根据字母序排列,"music" 在 "sports" 之前。
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
示例 2
输入示例
5 0,music 1,music 2,music 3,music 4,music 4 0,1 1,2 2,3 3,4 0 1
输出示例
1,music
所有用户都满足兴趣条件,但是跳数限制在 1 跳内,因此仅用户"1"满足条件
示例 3
输入示例
1 0,music 0 0 2
输出示例
不存在满足条件的结果,无输出
时间限制 1000 ms · 内存限制 128 MB
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有