• [编程题]抄送列表 - 牛客网题解


    [编程题]抄送列表
    
    NowCoder每天要处理许多邮件,但他并不是在收件人列表中,有时候只是被抄送。他认为这些抄送的邮件重要性比自己在收件人列表里的邮件低,因此他要过滤掉这些次要的邮件,优先处理重要的邮件。
    现在给你一串抄送列表,请你判断目标用户是否在抄送列表中。
    
    输入描述:
    输入有多组数据,每组数据有两行。
    
    第一行抄送列表,姓名之间用一个逗号隔开。如果姓名中包含空格或逗号,则姓名包含在双引号里。总长度不超过512个字符。
    
    第二行只包含一个姓名,是待查找的用户的名字(姓名要完全匹配)。长度不超过16个字符。
    
    
    输出描述:
    如果第二行的名字出现在收件人列表中,则输出“Ignore”,表示这封邮件不重要;否则,输出“Important!”,表示这封邮件需要被优先处理。

    import java.util.*;
    public class Main2{
        public static void main(String[] args){
            // 循环处理每组测试用例
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                // 接收第一行的所有名字
                String name = sc.nextLine();
                int i = 0;
                int end = 0;
                Set s = new HashSet<>();
                while(i < name.length()){
                    if('\"' == name.charAt(i)){
                        // 名字包含在""中 gb
                        end = name.indexOf('\"', i + 1);
                        s.add(name.substring(i+1, end)); // 参数1:起始位置 参数2:表示末尾位置---注
                        // 意:该位置的字符不会被截取到,截取到该位置之前的字符
                                i = end + 2;
                    }else{
                        // 名字没有包含在""中,如果是最后一个姓名,后面没有“,“,则返回-1
                        end = name.indexOf(',', i+1);
                        if(-1 == end){
                            // 现在要分割的名字是最后一个名字
                            s.add(name.substring(i, name.length()));
                            break;
                        }
                        name.substring(i, end);
                        i = end + 1;
                    }
                }
                // 获取第二行的名字并检测该名字是否在Set中存在
                name = sc.nextLine();
                if(s.contains(name)){
                    System.out.println("Ignore");
                }else{
                    System.out.println("Important!");
                }
            }
        }
    }

  • 相关阅读:
    RPC 框架之Thrift入门(一)
    广州穗雅医院[口腔黏膜病]导致口腔扁平苔藓原因有哪些?
    如何通过快解析测试接口内外网?本地内网ip让外网访问连接
    基于JAVA旅游信息网站计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    多线程-浅析线程安全
    AtCoder Beginner Contest 332
    10个前端开发常用的速查网站
    电脑数据转移到新电脑?换新电脑如何转移软件
    什么是war包?war包该怎么运行?
    CSS和JS基础学习
  • 原文地址:https://blog.csdn.net/qq_60991267/article/details/126686703