每日一练 编程题 收件邮箱 题解
时间: 2023-09-22 07:08:20 浏览: 56
这是一道编程题,题目描述为:给定一个包含邮箱地址的列表,返回所有收件人的不重复列表。其中,每个邮箱地址由用户名、@符号和域名组成,用户名和域名之间用一个加号 + 号分隔,如果存在的话。
例如,"test.email+alex@leetcode.com"中,用户名为 "test.email+alex",域名为 "leetcode.com"。
解题思路:
- 对于每个邮箱地址,需要进行以下处理:
1.1 将用户名中的 . 去除
1.2 如果存在 + 号,则去除 + 号及后面的内容
1.3 将处理后的用户名和域名组合成新的邮箱地址
- 将所有处理后的邮箱地址加入到 set 中,去除重复项
- 返回 set 的长度即可
以下是 Python 代码实现:
```python
class Solution:
def numUniqueEmails(self, emails: List[str]) -> int:
unique_emails = set()
for email in emails:
username, domain = email.split('@')
username = username.replace('.', '')
if '+' in username:
username = username[:username.index('+')]
unique_emails.add(username + '@' + domain)
return len(unique_emails)
```
希望能对您有所帮助!
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)