其他分享
首页 > 其他分享> > 力扣每日一题2021-12-04赎金信

力扣每日一题2021-12-04赎金信

作者:互联网

赎金信


383.赎金信

题目描述

赎金信


思路

字符统计

依据题意要求,使用magazine中的字符构建新的字符串ransomNote,且ransomNote中的每个字符只能使用一次,只需要满足字符串中每个英文字母的统计次数都大于等于randomNote中相同字母的统计次数即可。

Python实现

Python实现

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        if len(ransomNote) > len(magazine):
            return False
        return not collections.Counter(ransomNote) - collections.Counter(magazine)

Java实现

Java实现

class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        if (ransomNote.length() > magazine.length()) {
            return false;
        }
        int[] cnt = new int[26];
        for (char c: magazine.toCharArray()) {
            cnt[c - 'a']++;
        }
        for (char c:ransomNote.toCharArray()) {
            cnt[c - 'a']--;
            if (cnt[c - 'a'] < 0) {
                return false;
            }
        }
        return true;
    }
}

标签:ransomNote,字符,cnt,12,return,04,力扣,magazine,赎金
来源: https://blog.csdn.net/wcy1034036507/article/details/121726390