力扣题-11.28

[力扣刷题攻略] Re:从零开始的力扣刷题生活

力扣题1:383. 赎金信

解题思想:直接进行统计即可
在这里插入图片描述

class Solution(object):
    def canConstruct(self, ransomNote, magazine):
        """
        :type ransomNote: str
        :type magazine: str
        :rtype: bool
        """

        char_count = {}
        for i in range(len(magazine)):
            if magazine[i] in char_count:
                char_count[magazine[i]] += 1
            else:
                char_count[magazine[i]] = 1
        for i in range(len(ransomNote)):
            if ransomNote[i] in char_count:
                char_count[ransomNote[i]] -= 1
                if char_count[ransomNote[i]]<0:
                    return False
            else:
                return False
        return True
class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        std::unordered_map<char, int> char_count;
        for (char c : magazine) {
            if (char_count.find(c) != char_count.end()) {
                char_count[c] += 1;
            } else {
                char_count[c] = 1;
            }
        }
        for (char c : ransomNote) {
            if (char_count.find(c) != char_count.end()) {
                char_count[c] -= 1;
                if (char_count[c] < 0) {
                    return false;
                }
            } else {
                return false;
            }
        }
        return true;
    }
};

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注