Python程序:从联系人邮件列表中查找唯一人数


假设我们在常量列表中有一系列邮件ID。因此,每一行可能存在多个同一人。当存在任何j (j < i) 且联系人j与i共享同一个邮件时,联系人i被认为是重复的。所以我们必须找到联系人中唯一的人数。

例如,如果输入是 contacts = [["[email protected]", "[email protected]"], ["[email protected]", "[email protected]"], ["[email protected]"] ],则输出为2,因为第一个和第二个联系人共享相同的邮件ID,所以他们是同一人,因此只有两个人。

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

  • ans := 0
  • found := 一个新的集合
  • 对于 contacts 中的每个 c:
    • duplicate := False
    • 对于 c 中的每个 email:
      • 如果 email 不在 found 中,则:
        • 将 email 标记为已找到
      • 否则:
        • duplicate := True
    • 如果 duplicate 为 False,则:
      • ans := ans + 1
  • 返回 ans

示例

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

def solve(contacts):
   ans = 0
   found = set()

   for c in contacts:
      dullicate = False

      for email in c:
         if email not in found:
            found.add(email)
         else:
            dullicate = True
      if not dullicate:
         ans += 1

   return ans

contacts = [
["[email protected]", "[email protected]"],
["[email protected]", "[email protected]"],
["[email protected]"]
]
print(solve(contacts))

输入

[["[email protected]", "[email protected]"],
["[email protected]", "[email protected]"],
["[email protected]"]
]

输出

2

更新于:2021年10月14日

浏览量:175

开启你的职业生涯

完成课程获得认证

开始学习
广告