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

2024-1-7

文章目录

    • [383. 赎金信](https://leetcode.cn/problems/ransom-note/)
        • 思路:计数模拟

383. 赎金信

【LeetCode每日一题】383. 赎金信(计数模拟)_第1张图片

思路:计数模拟

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的图

你可能感兴趣的:(LeetCode,leetcode,算法,职场和发展)