【日常训练】929. 独特的电子邮件地址

题目

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

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

提示:
1 <= emails.length <= 100
1 <= emails[i].length <= 100
emails[i] 由小写英文字母、‘+’、‘.’ 和 ‘@’ 组成
每个 emails[i] 都包含有且仅有一个 ‘@’ 字符
所有本地名和域名都不为空
本地名不会以 ‘+’ 字符作为开头

代码

package dayLeetCode;

import java.util.HashSet;
import java.util.Set;

public class dayleecode929 {
    // 模拟,将本地名经过题目提供的处理操作处理后,重新链接域名,存入一个哈希数组中
    public int numUniqueEmails(String[] emails) {
        Set<String> ansEmails = new HashSet<>();
        for (String s : emails){
            int index = s.indexOf('@');
            // 忽略第一个加号后面所有的内容
            // (    [     {    /    ^    -    $     ¦    }    ]    )    ?    *    +    .
            // 以上字符需要转义
            String str = s.substring(0, index).split("\\+")[0];
            // 忽略.
            str = str.replace(".", "");
            ansEmails.add(str + s.substring(index));
        }

        return ansEmails.size();
    }

    public static void main(String[] args) {
        dayleecode929 obj = new dayleecode929();
        String[] emails = new String[]{
                "test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"
        };
        System.out.println(obj.numUniqueEmails(emails));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 经过训练的chi_sim指的是经由训练得到的中文字符识别系统。经过长时间的数据和算法训练,这样的系统能够准确识别和理解中文字符,并能够根据所识别的字符进行相应的处理。经过训练的chi_sim有许多应用场景,比如在邮政领域可以用于自动识别地址中的中文字符,提高邮件分拣的效率;在金融行业能够帮助快速扫描和识别大量的中文文档,提高工作效率和准确性;在证件识别中,可以用于识别和比对身份证、护照等重要证件上的中文字符,提高安全性和便利性。经过训练的chi_sim还可以应用于智能手机、智能家居等设备,在日常生活中方便用户输入中文字符或者进行控制操作。总的来说,经过训练的chi_sim可以更加准确地识别和理解中文字符,提供更高效、便捷的服务和应用。 ### 回答2: 经过训练的chi_sim是指经过专门的学习和培训,具备了较高的汉字识别能力的计算机程序。chi_sim为“Chinese Simplified”的缩写,意为简体中文。经过训练的chi_sim是一种基于深度学习技术的OCR(Optical Character Recognition,光学字符识别)系统,能够将图片或扫描件中的文字转换成可编辑的文字文件。 接受训练的chi_sim通常通过大量的样本数据进行训练,以提高其识别和准确性。在训练过程中,程序会先进行图像预处理,如二值化、降噪等,然后采用卷积神经网络(Convolutional Neural Network,CNN)等深度学习模型进行特征提取和文字识别。经过反复迭代训练和优化,chi_sim能够逐步提升识别效果,达到较高的准确率。 经过训练的chi_sim在实际应用中有着广泛的用途。它可以帮助文档扫描仪、图像处理软件等设备和软件实现自动化的文字识别功能,提高工作效率。它也可以用于识别验证码、自动驾驶、智能翻译等领域。此外,经过训练的chi_sim还可以应用于数字化图书馆、档案管理、数据挖掘等领域,方便信息的检索和利用。 然而,尽管经过训练的chi_sim有着较高的识别准确率,但它仍然存在一定的局限性。对于复杂的字体、模糊或变形的文字,识别效果可能会下降。另外,由于汉字数量庞大且存在多音字、简体字与繁体字的差异等问题,chi_sim在处理某些特殊情况时可能会出现错误。因此,在使用chi_sim进行文字识别时,仍需要对结果进行人工核对和修正,以确保准确性和可靠性。 ### 回答3: 经过训练的chi_sim是一种经过专门训练和改进的中文手写汉字识别系统。它采用了先进的机器学习算法和深度神经网络模型,以提高对中文手写字的准确识别率。经过大量的样本数据训练,该系统能够识别来自不同书写习惯和书写风格的中文字符。 训练过程中,使用的数据集包含了丰富的中文汉字样本和对应的标签。通过这些数据,系统可以学习到不同字体、笔顺、笔画等特征,并进行模式匹配,从而实现对手写中文汉字的分析和识别。 经过训练的chi_sim在实际应用中具有广泛的用途。例如,在邮政、快递和银行等行业中,可以用于自动识别手写的地址、姓名和信息内容,提高工作效率和准确性。在电子设备和智能手机上,该系统可以用于手写输入和汉字识别,方便用户在移动设备上进行中文输入。此外,还可以应用于文档数字化、图像处理和自动化办公等领域,提供便捷的文字识别和处理功能。 经过训练的chi_sim是中文手写识别领域的重要成果,它的应用为我们的生活带来了便利和效率,同时也挖掘了机器学习和深度学习在中文字符识别方面的潜力。这一技术的不断改进和应用,将进一步提高中文手写识别的准确性和适用性,推动智能化时代的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值