用 Python 从关系列表中查找共同关注者的程序

pythonserver side programmingprogramming更新于 2025/12/24 18:52:17

假设我们有一个名为 relationships 的列表。关系列表 relationships[i] 中的每个元素 包含两个数字 [ai, bi],表示 ai 在社交媒体平台上关注 bi。我们必须找到关注某人并且他们也关注他们的人的列表,我们必须按排序顺序返回它。

因此,如果输入为 relationships = [[0, 2],[2, 3],[2, 0],[1, 0]],则输出将为 [0, 2]。

为了解决这个问题,我们将遵循以下步骤 −

  • ans := 一个新集合

  • seen := 一个新集合

  • 对于 relationships 中的每一对 a 和 b,执行

    • 将对 (a, b) 标记为已看到

    • 如果 (b, a) 也被标记为已看到,则

      • 插入 b 和 a进入

  • 对 ans 的元素进行排序并返回

示例

让我们看看下面的实现以便更好地理解

def solve(relations):
   ans = set()
   seen = set()

   for a, b in relations:
      seen.add((a, b))

      if (b, a) in seen:
         ans.add(b)
         ans.add(a)

   k = list(ans)
   rtr = sorted(k)
   return rtr

relations = [
   [0, 2],
   [2, 3],
   [2, 0],
   [1, 0]
]
print(solve(relations))

输入

[[0, 2],[2, 3],[2, 0],[1, 0]]

输出

[0, 2]

相关文章


有用资源