Python程式:從聯絡人郵件列表中查詢唯一人數
假設我們在常量列表中有一系列郵件ID。因此,每一行可能存在多個同一人。當存在任何j (j < i) 且聯絡人j與i共享同一個郵件時,聯絡人i被認為是重複的。所以我們必須找到聯絡人中唯一的人數。
例如,如果輸入是 contacts = [["alex@gmail.com", "alex@yahoo.com"], ["alex_25@yahoo.com", "alex@gmail.com"], ["bob15@gmail.com"] ],則輸出為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 = [ ["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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP