【简单】929. 独特的电子邮件地址

news/2024/11/26 7:22:23/

【题目】
每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 ‘.’ 或 ‘+’。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(’.’),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,“alice.z@leetcode.com” 和 “alicez@leetcode.com” 会转发到同一电子邮件地址。(请注意,此规则不适用于域名。)
如果在本地名称中添加加号(’+’),则会忽略第一个加号后面的所有内容。这允许过滤某些电子邮件,例如 m.y+name@email.com 将转发到 my@email.com。(同样,此规则不适用于域名。)
可以同时使用这两个规则。给定电子邮件列表 emails,我们会向列表中的每个地址发送一封电子邮件。实际收到邮件的不同地址有多少?
来源:leetcode
链接:https://leetcode-cn.com/problems/unique-email-addresses/
【示例】
输入:[“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”
【提示】
1 <= emails[i].length <= 100
1 <= emails.length <= 100
每封 emails[i] 都包含有且仅有一个 ‘@’ 字符
【代码】

class Solution {
public:set<string> s;int numUniqueEmails(vector<string>& emails) {int atpos=-1,dotpos=-1,addpos=-1;for(auto x:emails){atpos=x.find("@");addpos=x.find("+");if(addpos>=0&&addpos<atpos)x=x.substr(0,addpos)+x.substr(atpos);atpos=x.find("@");dotpos=x.find(".");while(dotpos>=0&&dotpos<atpos){x=x.substr(0,dotpos)+x.substr(dotpos+1);atpos=x.find("@");dotpos=x.find(".");}s.insert(x);}return s.size();}
};

【erase】

class Solution {
public:set<string> s;int numUniqueEmails(vector<string>& emails) {int atpos=-1,dotpos=-1,addpos=-1;for(auto x:emails){atpos=x.find("@");addpos=x.find("+");if(addpos>=0&&addpos<atpos)x.erase(addpos,atpos-addpos);atpos=x.find("@");dotpos=x.find(".");while(dotpos>=0&&dotpos<atpos){x.erase(dotpos,1);atpos=x.find("@");dotpos=x.find(".");}s.insert(x);}return s.size();}
};

http://www.ppmy.cn/news/552775.html

相关文章

电邮地址_电子邮件| 电子邮件| 第4部分

电邮地址 电子邮件或电子邮件–滥用 (Electronic Mail or e-mail – Abuse) The SMTP protocol has no means to prevent abuse of the mail system, in particular there are no simple and effective tools to control which messages are delivered in box of a user (autho…

电邮地址_电子邮件| 电子邮件| 第2部分

电邮地址 电子邮件/电子邮件&#xff1a;正文和附件 (Electronic Mail / e-mail: Body and Attachments) The message body is composed of content that the sender wants to communicate to the recipients. 邮件正文由发送者要与接收者交流的内容组成。 It was originally …

电邮地址_电子邮件| 电子邮件| 第三部分

电邮地址 电子邮件| 电子邮件&#xff1a;可见性收件人 (Electronic Mail | e-mail: Visibility recipients) The addresses of the main recipients (To: or A:) and those copies (Cc:) are equally visible to all recipients. 所有收件人都可以看到主要收件人的地址(收件人…

929.独特的电子邮件地址

每封电子邮件都由一个本地名称和一个域名组成&#xff0c;以 符号分隔。 例如&#xff0c;在 aliceleetcode.com中&#xff0c; alice 是本地名称&#xff0c;而 leetcode.com 是域名。 除了小写字母&#xff0c;这些电子邮件还可能包含 ‘.’ 或 ‘’。 如果在电子邮件地址的…

【总结】网页状态码——200正常、302重定向、304客户端有缓存、400浏览器请求传参异常、404未找到、405方法不允许、500服务器异常

目录 200正常500异常--服务器异常Java代码400异常----传参相关的异常get方法长度限制400异常&#xff0c;加了RequestParam(value "name") 必须传值400异常&#xff0c;后端类型是Integer&#xff0c;前端传的是string&#xff0c;转换失败400异常&#xff0c;日期格…

ARMv7-A协处理器CP15说明

一. 协处理器 协处理器&#xff0c;即协助型处理器&#xff0c;主要协助做一些主处理器无法执行或者执行效率不佳的事情。 例如&#xff0c;浮点、图像、音频处理这一类&#xff0c;随着硬件的发展&#xff0c;大多协处理器的功能都慢慢集成到主处理器中&#xff0c;但是某些…

详解u盘怎么重装系统win7,u盘一键安装win7

当win7系统出现蓝屏,死机等故障问题无法修复的时候,可以借助u盘重装win7系统的方法修复解决.那么怎么重装系统win7呢?下面就教下大家具体的u盘重装win7系统教程. 1.将制作好的大白菜u盘启动盘插入usb接口(台式用户建议将u盘插在主机机箱后置的usb接口上)&#xff0c;然后重启电…

u大师u盘装系统win7_u盘怎么安装win7系统 u盘安装win7系统教程【详细介绍】

在2016年3月全球操作系统市场份额大战中&#xff0c;win7的市场份额虽呈下降趋势&#xff0c;但一直保持过半优势&#xff0c;远远抛离其他操作系统&#xff0c;所以win7仍然是目前的主流系统。于是很多想用u盘安装win7的用户就有这样的疑问&#xff0c;u盘怎样安装win7系统呢?…