2026年程序员面试题集及编程逻辑考察.docxVIP

  • 1
  • 0
  • 约5.96千字
  • 约 16页
  • 2026-11-04 发布于福建
  • 举报

2026年程序员面试题集及编程逻辑考察.docx

第PAGE页共NUMPAGES页

2026年程序员面试题集及编程逻辑考察

一、算法设计题(共3题,每题20分)

1.(20分)

题目:

假设你正在开发一个社交网络平台,需要设计一个算法来检测用户之间的好友关系链。给定一个由用户ID和好友关系组成的邻接表,请实现一个函数,判断两个用户是否可以通过好友关系链直接或间接地互相关联。例如,用户A和用户C之间有共同好友B,则A和C可以通过好友关系链关联。

输入:

-好友关系列表:`edges=[[A,B],[B,C],[C,D],[E,F]]`

-查询对:`[A,D]`

输出:

-返回`True`(因为A可以通过B和C关联到D)或`False`。

要求:

-时间复杂度:O(N+E),其中N是用户数量,E是好友关系数量。

-空间复杂度:O(N)。

答案与解析:

答案:

python

defare_friends(node1,node2,edges):

fromcollectionsimportdefaultdict,deque

graph=defaultdict(list)

foru,vinedges:

graph[u].append(v)

graph[v].append(u)

visited=set()

queue=deque([node1])

while

文档评论(0)

1亿VIP精品文档

相关文档