1. 题目

每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。

例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名。

除了小写字母,这些电子邮件还可能包含 ‘.’ 或 ‘+’。

如果在电子邮件地址的本地名称部分中的某些字符之间添加句点(’.’),则发往那里的邮件将会转发到本地名称中没有点的同一地址。
例如,"alice.z@leetcode.com”“alicez@leetcode.com” 会转发到同一电子邮件地址。 (请注意,此规则不适用于域名。)

如果在本地名称中添加加号('+'),则会忽略第一个加号后面的所有内容。
这允许过滤某些电子邮件,例如 m.y+name@email.com 将转发到 my@email.com。 (同样,此规则不适用于域名。)

可以同时使用这两个规则。

给定电子邮件列表 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"。提示:
1 <= emails[i].length <= 100
1 <= emails.length <= 100
每封 emails[i] 都包含有且仅有一个 '@' 字符。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-email-addresses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • +@ 之间的 忽略
  • @ 符号前面的 . 忽略
class Solution {public:int numUniqueEmails(vector<string>& emails) {set<string> s;string str;int i, j;bool meetAt, meetPlus;for(i = 0; i < emails.size(); ++i){meetPlus = meetAt = false;str = "";for(j = 0; j < emails[i].size(); ++j){if(emails[i][j] == '+')meetPlus = true;else if(emails[i][j] == '@'){meetAt = true;}if(!meetAt && !meetPlus && emails[i][j] != '.')str.push_back(emails[i][j]);//没遇到@ + 不是 .if(meetAt)//@ 之后的不处理str.push_back(emails[i][j]);}s.insert(str);}return s.size();}
};

28 ms 11.5 MB

LeetCode 929. 独特的电子邮件地址相关推荐

  1. Leetcode 929.独特的电子邮件地址(Unique Email Addresses)

    Leetcode 929.独特的电子邮件地址 1 题目描述(Leetcode题目链接)   每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.co ...

  2. LeetCode - 929 - 独特的电子邮件地址(unique-email-addresses)

    一 目录 不折腾的前端,和咸鱼有什么区别 目录 一 目录 二 前言 三 解题及测试 四 LeetCode Submit 五 解题思路 六 进一步思考 二 前言 难度:简单 涉及知识:字符串 题目地址: ...

  3. 不积跬步无以至千里——LeetCode 929. 独特的电子邮件地址

    每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字母,这些电 ...

  4. C#leetcode刷题929独特的电子邮件地址

    题目描述 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字 ...

  5. 每日算法----929. 独特的电子邮件地址----2022/06/04

    目录 1. 题目描述 2. 示例 3. 思路 4. 遇上的问题 5. 具体实现代码 6. 官方题解 7 题目来源 1. 题目描述 每个 有效电子邮件地址 都由一个 本地名 和一个 域名 组成,以 '@ ...

  6. 929. 独特的电子邮件地址

    题目 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字母, ...

  7. 929. 独特的电子邮件地址(简单,字符串)(12.20)

    每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字母,这些电 ...

  8. 文巾解题 929. 独特的电子邮件地址

    1 题目描述 2 解题思路 这题没什么特别要说的,先截取'+'(如果有的话)之前的部分.然后把截取的部分中'.'换成''就可以了.之后放入一个set里面去,看集合里面有几个元素. class Solu ...

  9. LeetCode-929. 独特的电子邮件地址

    929. 独特的电子邮件地址 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com ...

最新文章

  1. linux free命令详解和使用实例(查看内存使用率)
  2. Spring Boot 整合 Spring Security 示例
  3. 线性表ArrayList和LinkedList源码详解。
  4. python idea控制台中文乱码_python 解决cv2绘制中文乱码问题
  5. mysql批量条件字段_mysql批量更新多条记录的同一个字段为不同值的方法
  6. 华强北耳机芯片检测软件_关于华强北耳机air pods pro
  7. ubuntu查看oracle客户端,ubuntu 9.04 下安装 oracle 客户端oracle-xe-client
  8. javax maven项目缺少_maven冲突解决流程
  9. 中如何构造有参和无惨_导数中构造函数的神力你应该借助一下
  10. LINUX文件图标变化:有时右键菜单刷新可以,有时需要重启机器
  11. Atitti html5 h5 新特性attilax总结
  12. UWCN开源的Pay企业级开源聚合支付系统
  13. LabVIEW编程入门笔记
  14. python(六)动态网页爬虫
  15. 【机器学习】强化学习算法的优化
  16. 哪些IP不会分配给公网使用
  17. html中right的作用,css3 nav-right属性怎么用?
  18. 项目管理师、系统分析师和系统架构师的关系与区别
  19. 【图形学】计算机图形学-练习题7
  20. cocos2d-x 学习笔记(3)cocos2d-x 创建基本控件 及小动画

热门文章

  1. Sqoop的安装配置及工作机制
  2. linux grep 匹配空格_17 个案例,5 分钟简单搞定 Linux 正则表达式!
  3. java服务器向客户端发消息_java一个简单的客户端向服务端发送消息
  4. git管理账户忘记了_强制找回GitLab管理员账户密码的方法
  5. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6
  6. django中的admin组件之自定义组件的增删改查的完善
  7. Maven整合Spring3.0+Mybatis3.2+Struts2.3+查找坐标+jar包依赖(五)
  8. AOJ 6.Hero In Maze
  9. Linux开机运行应用程序
  10. 平面方程(Plane Equation)