首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 929 Unique Email Addresses

LeetCode 929 Unique Email Addresses

作者头像
一份执着✘
发布2018-12-14 14:31:58
8860
发布2018-12-14 14:31:58
举报

题意

给与一组 email 地址,email 分为两部分, @ 前我们称为 local name, @ 后称为 domain name。现规定只可以出现小写字母和字符 .+。 其中 . 可以忽略, 如 `alice.z@leetcode.comal.icez@leetcode.com都表示alicez@leetcode.com+出现在local name中时,将忽略第一个+后的所有内容,如m.y+name@email.comm.y@email.com都表示my@email.com`。

解法

按照题意,先取 local name 的第一个字符到第一个加号之前的内容, 然后删除其中的所有 ., 并与 @ 后的 domain name 拼接, 将结果放入 Set 集合中,最后返回 Set 的长度即可。

class Solution {
    public int numUniqueEmails(String[] emails) {
        Set<String> set = new HashSet<>();

        for (String email : emails) {
            int start = email.indexOf("+");
            int end = email.indexOf("@");
            String localName = email.substring(0, start);
            localName = localName.replace(".", "");
            String domainName = email.substring(end, email.length());
            set.add(localName + domainName);
        }
        return set.size();
    }
}

Runtime: 35 ms, faster than 63.93% of Java online submissions for Unique Email Addresses.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题意
  • 解法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档