• 【leetcode】独特的电子邮件地址


    题目描述

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

    例如,在 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

    class Solution {
    public:
        int numUniqueEmails(vector<string>& emails) {
            int l = emails.size();
            set<string> m;
            for(int i=0;i<l;i++){
                string ss =  emails[i];
               int index = ss.find("@");
               string name = "";
               string s1 = ss.substr(0,index);
               string mail = ss.substr(index+1);
               
               for(int j=0;j<s1.length(); j++){
                   if(s1[j] == '.'){
                       s1 = s1.replace(j,1,"");
                   }
               }
               int index2 = s1.find("+");
               name = s1.substr(0,index2); // ignore +
    
               string sss = name + " " + mail;
               m.insert(sss);
            }
            // map::reverse_iterator   iter;
            // for(iter = m.rbegin(); iter != m.rend(); iter++){
            //   cout<first<<" "<second<
            // }
            return m.size();
        }
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    DSPE-PEG-Aldehyde,DSPE-PEG-CHO科学研究用化学试剂
    Open3D ICP精配准(点到面)
    JavaScript严格模式
    2023/09/21 day5 qt
    【Flutter】包管理(5)Flutter 中 Hive 的详细使用说明
    这些好看的皮肤,这不嗖的一下,统统都到电脑里了~
    我们要不要使用 ORM?
    都 2022 年了,你真的会用 Python 的 pip 吗?
    codeforces 1728E
    Filter(过滤器)和监听器(Listener)
  • 原文地址:https://blog.csdn.net/qq_40315080/article/details/134000948