LeetCode每日一题——929. 独特的电子邮件地址

简介: 每个 有效电子邮件地址 都由一个 本地名 和一个 域名 组成,以 ‘@’ 符号分隔。除小写字母之外,电子邮件地址还可以含有一个或多个 ‘.’ 或 ‘+’ 。

题目

每个 有效电子邮件地址 都由一个 本地名 和一个 域名 组成,以 ‘@’ 符号分隔。除小写字母之外,电子邮件地址还可以含有一个或多个 ‘.’ 或 ‘+’ 。

例如,在 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. 循环遍历给定列表中每一个元素
  2. 先将每一个元素以‘@’字符分开,左半边待处理,右半边留着
  3. 左半边再以‘+’分割,右边不做处理舍去,左边将‘.’字符删掉(这里用的是用‘’替代了‘.’)
  4. 最后在set集合里加入处理后的左半边字符 + '@' + 右半边字符
  5. 最后返回set长度即为答案

题解

# 929. 独特的电子邮件地址
def numUniqueEmails(emails: List[str]) -> int:
    ans = set()
    for i in range(len(emails)):
        temp = emails[i].split('@')
        temp_ = temp[0].split('+')
        while '.' in temp_[0]:
            temp_[0] = temp_[0].replace('.', '')
        ans.add(temp_[0] + '@' + temp[1])
        print(ans)
    return len(ans)
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
Java C++ Python
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
近日,LeetCode中国[1]上线了一个全新的分类模块 LCOF “剑指 Offer[2]”。
4393 0
快讯:LeetCode中国正式上线《剑指Offer》题目,刷题真方便了!
|
1月前
蓝桥杯真题代码记录(保险箱
蓝桥杯真题代码记录(保险箱
15 1
蓝桥杯真题代码记录(保险箱
|
1月前
|
算法 Java C++
字符串删减(蓝桥杯每日一题)
字符串删减(蓝桥杯每日一题)
46 0
|
7月前
|
算法
代码随想录算法训练营第二十五天 | LeetCode 216. 组合总和 III、17. 电话号码的字母组合
代码随想录算法训练营第二十五天 | LeetCode 216. 组合总和 III、17. 电话号码的字母组合
39 0
|
9月前
趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
81 1
|
10月前
|
算法
[算法刷题题解笔记] 洛谷 P1008 [NOIP1998 普及组] 三连击 [枚举|模拟]
[算法刷题题解笔记] 洛谷 P1008 [NOIP1998 普及组] 三连击 [枚举|模拟]
|
10月前
|
算法 C语言 C++
LeetCode.每日一题 831. 隐藏个人信息
这题的题目非常的长,但也有好处,一眼就看出来是模拟题。模拟题一般都不会很难,这里我们来看看具体是怎么做的。
50 0
|
11月前
|
C语言 Cloud Native
【刷题日记】929. 独特的电子邮件地址
本次刷题日记的第 54 篇,力扣题为:929. 独特的电子邮件地址,中等
|
存储 算法 调度
【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码
【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码
366 0
|
编解码 程序员 数据安全/隐私保护
没错,我是高端吃瓜玩家(搞懂摩斯密码)
在电气时代刚流行的时代,并没有电话手机,人们探索的第一步是如何用电去传讯消息,在这期间摩尔斯发明了电报并且获得了专利,并且他的团队(有说是他的助手艾尔菲德·维尔发明的摩尔斯电码)配套发明了一套传输的规则被称为摩尔斯电码。
547 0
没错,我是高端吃瓜玩家(搞懂摩斯密码)

热门文章

最新文章