题解 | #字符串字符匹配#

字符串字符匹配

https://www.nowcoder.com/practice/22fdeb9610ef426f9505e3ab60164c93

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        // 输入数据
        Scanner in = new Scanner(System.in);
        String shortStr = in.nextLine();
        String longStr = in.nextLine();

        // 算法核心
        // 注意!虽然Character是对象,但是作为基本类型的包装类,在map中的主键依旧是“字面值哈希”而非“地址(引用)值哈希”
        // 1.遍历longStr,将其所有出现的字符登记其出现次数
        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < longStr.length(); i++) {
            char c = longStr.charAt(i);
            int count = 1;
            if (map.containsKey(c)) {
                count += map.get(c);
            }
            map.put(c, count);
        }
        // 2.遍历shortStr,一旦发现某个字符不在map中,就报错
        boolean flag = true;
        for (int i = 0; i < shortStr.length(); i++) {
            char c = shortStr.charAt(i);
            if (!map.containsKey(c)) {
                flag = false;
                break;
            }
        }

        // 输出结果
        System.out.println(flag ? "true" : "false");
    }
}

全部评论

相关推荐

焦虑中,不知道怎么办了。。。
西北上单:应该放俩项目合理一些 我是一个业务开发项目 一个AI项目和你这个写的亮点差不多
你的简历改到第几版了
点赞 评论 收藏
分享
01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务