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

字符串字符匹配

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");
    }
}

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务