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
- 如果 email 不在 found 中,则:
- 如果 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
广告