在Python中查找联系人邮件列表中独特人数的程序

在Python中查找联系人邮件列表中独特人数的程序

假设我们有一个常量列表中的邮件ID列表。因此,对于每一行,可能有同一人的多个邮件ID。当存在任何j(其中j < i)共享电子邮件的联系人i时,联系人i被视为重复。因此,我们必须找到联系人中独特的人数。

因此,如果输入如下contacts = [["alex@gmail.com", "alex@yahoo.com"], ["alex_25@yahoo.com", "alex@gmail.com"], ["bob15@gmail.com"] ],则输出将为2,因为第一个和第二个联系人共享相同的电子邮件,因此他们是同一个人,因此有两个独特的人。

解决此问题,我们将按照以下步骤执行-

  • ans := 0
  • found := a new set
  • 对于每个c中的元素,执行以下操作-
    • dullicate := False
    • 对于每个电子邮件email中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教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程