【LeetCode每日一题】383. 赎金信(计数模拟)

2024-01-07 17:21:44

2024-1-7

383. 赎金信

在这里插入图片描述

思路:计数模拟

1.通过数组对字母进行计数

2.magazine 中的每个字符只能在 ransomNote 中使用一次。

3.判断减一后,是否小于等于0。如果小于等于0,则说明杂志中不足以构建赎金信

//383. 赎金信
    public boolean canConstruct(String ransomNote, String magazine) {
        int[] count = new int[26];
        for (int i = 0; i < magazine.length(); i++) {
            count[magazine.charAt(i)-'a']++;
        }
        //通过数组对字母进行计数
        for (int i = 0; i < ransomNote.length(); i++) {
            if (count[ransomNote.charAt(i)-'a']-- <= 0){
                //magazine 中的每个字符只能在 ransomNote 中使用一次。
                //判断减一后,是否小于等于0。如果小于等于0,则说明杂志中不足以构建赎金信
                return false;
            }
        }
        return true;
    }

点击移步博客主页,欢迎光临~

偷cyk的图

文章来源:https://blog.csdn.net/m0_64003319/article/details/135440066
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。