用 Python 编写的程序,从联系人邮件 ID 列表中查找唯一人员的数量
pythonserver side programmingprogramming更新于 2026/1/5 17:48:17
假设我们在一个常量列表中有一个邮件 ID 列表。因此,每行可能存在同一个人的多个邮件 ID。当存在任何 j 时,联系人 i 被视为重复,其中 j < i,使得联系人 j 与 i 共享一个共同的电子邮件。因此,我们必须找到联系人中唯一人员的数量。
因此,如果输入为 contacts = [["alex@gmail.com", "alex@yahoo.com"], ["alex_25@yahoo.com", "alex@gmail.com"], ["bob15@gmail.com"] ],则输出将为 2,因为第一个和第二个联系人共享相同的邮件 ID,因此他们是同一个人,所以有两个唯一的人。
为了解决这个问题,我们将遵循以下步骤 −
- ans := 0
- found := a new set
- 对于 contacts 中的每个 c,执行
- dullicate := False
- 对于 c 中的每个电子邮件,执行
- 如果未找到电子邮件,则
- 将电子邮件标记为已找到
- 否则,
- dullicate := True
- 如果未找到电子邮件,则
- 如果 dullicate 为 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 = [ ["alex@gmail.com", "alex@yahoo.com"], ["alex_25@yahoo.com", "alex@gmail.com"], ["bob15@gmail.com"] ] print(solve(contacts))
输入
[["alex@gmail.com", "alex@yahoo.com"], ["alex_25@yahoo.com", "alex@gmail.com"], ["bob15@gmail.com"] ]
输出
2
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

