zoukankan      html  css  js  c++  java
  • 383. Ransom Note (Easy)

    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
  • 相关阅读:
    HDU
    HDU
    西电OJ
    西电OJ
    西电OJ
    USACO 2.1-Healthy Holsteins
    USACO 2.1-Sorting a Three-Valued Sequence
    HDU
    UVA
    codeforces 811A Vladik and Courtesy
  • 原文地址:https://www.cnblogs.com/yancea/p/7508941.html
Copyright © 2011-2022 走看看