383. Ransom Note (Easy)
阿新 • • 發佈:2017-09-12
count ngs blog cti 利用 con self ted lec
Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.
Each letter in the magazine string can only be used once in your ransom note.
Note:
You may assume that both strings contain only lowercase letters.
canConstruct("a", "b") -> false canConstruct("aa", "ab") -> false canConstruct("aa", "aab") -> true
題意:判斷magazine中的字符是否可以組成ransom note所需要的那些字符;
思路:
1.利用Python的collections.Counter()統計字符個數,然後做差即可;
2.當ransomCnt大於magazineCnt時,返回false;
class Solution(): def canConstruct(self, ransomNote, magazine): """ :type ransomNote: str :type magazine: str :rtype: bool """ ransomCnt = collections.Counter(ransomNote) magazineCnt = collections.Counter(magazine) return not ransomCnt - magazineCnt
383. Ransom Note (Easy)