快樂的LeetCode --- 929. 獨特的電子郵件地址

題目描述:

每封電子郵件都由一個本地名稱和一個域名組成,以 @ 符號分隔。

例如,在 [email protected]中, alice 是本地名稱,而 leetcode.com 是域名。

除了小寫字母,這些電子郵件還可能包含 ‘.’ 或 ‘+’。

如果在電子郵件地址的本地名稱部分中的某些字符之間添加句點(’.’),則發往那裏的郵件將會轉發到本地名稱中沒有點的同一地址。例如,"[email protected]” 和 “[email protected]” 會轉發到同一電子郵件地址。 (請注意,此規則不適用於域名。)

如果在本地名稱中添加加號(’+’),則會忽略第一個加號後面的所有內容。這允許過濾某些電子郵件,例如 [email protected] 將轉發到 [email protected]。 (同樣,此規則不適用於域名。)

可以同時使用這兩個規則。

給定電子郵件列表 emails,我們會向列表中的每個地址發送一封電子郵件。實際收到郵件的不同地址有多少?

示例:

輸入:["[email protected]","[email protected]","[email protected]"]
輸出:2
解釋:實際收到郵件的是 "[email protected]""[email protected]"

解題思路:
在這裏插入圖片描述


代碼:

class Solution(object):
    def numUniqueEmails(self, emails):
        
        res = []
        for email in emails:
            local, domain = email.split('@')
            if '+' in local:
                local = local[:local.index('+')]
            res.append(local.replace(".","") + '@' + domain)
        return len(set(res))

題目來源:

https://leetcode-cn.com/problems/unique-email-addresses

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章