Python描述 LeetCode 929. 独特的电子邮件地址
Posted 亓官劼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python描述 LeetCode 929. 独特的电子邮件地址相关的知识,希望对你有一定的参考价值。
Python描述 LeetCode 929. 独特的电子邮件地址
大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号、CSDN、GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~
如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.
本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。
题目
每个 有效电子邮件地址 都由一个 本地名 和一个 域名 组成,以 '@'
符号分隔。除小写字母之外,电子邮件地址还可以含有一个或多个 '.'
或 '+'
。
- 例如,在
alice@leetcode.com
中,alice
是 本地名 ,而leetcode.com
是 域名 。
如果在电子邮件地址的 本地名 部分中的某些字符之间添加句点('.'
),则发往那里的邮件将会转发到本地名中没有点的同一地址。请注意,此规则 不适用于域名 。
- 例如,
"alice.z@leetcode.com”
和“alicez@leetcode.com”
会转发到同一电子邮件地址。
如果在 本地名 中添加加号('+'
),则会忽略第一个加号后面的所有内容。这允许过滤某些电子邮件。同样,此规则 不适用于域名 。
- 例如
m.y+name@email.com
将转发到my@email.com
。
可以同时使用这两个规则。
给你一个字符串数组 emails
,我们会向每个 emails[i]
发送一封电子邮件。返回实际收到邮件的不同地址数目。
示例 1:
输入:emails = ["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"]
输出:2
解释:实际收到邮件的是 "testemail@leetcode.com" 和 "testemail@lee.tcode.com"。
示例 2:
输入:emails = ["a@leetcode.com","b@leetcode.com","c@leetcode.com"]
输出:3
提示:
1 <= emails.length <= 100
1 <= emails[i].length <= 100
emails[i]
由小写英文字母、'+'
、'.'
和'@'
组成- 每个
emails[i]
都包含有且仅有一个'@'
字符 - 所有本地名和域名都不为空
- 本地名不会以
'+'
字符作为开头
解题思路
先分别找到本地名
和域名
,对于本地名
,想将.
替换为空字符串,然后只截取到+
号前的内容,然后和@及域名
拼接即可
Python 描述
class Solution:
def numUniqueEmails(self, emails: List[str]) -> int:
email_set = set()
for email in emails:
email_set.add(email.split("@")[0].replace(".","").split("+")[0] + "@" + email.split("@")[1])
return email_set.__len__()
以上是关于Python描述 LeetCode 929. 独特的电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 929. Unique Email Addresses (独特的电子邮件地址)
Leetcode-929 Unique Email Addresses(独特的电子邮件地址)