zoukankan      html  css  js  c++  java
  • 【leetcode】1160. Find Words That Can Be Formed by Characters

    题目如下:

    You are given an array of strings words and a string chars.

    A string is good if it can be formed by characters from chars (each character can only be used once).

    Return the sum of lengths of all good strings in words.

    Example 1:

    Input: words = ["cat","bt","hat","tree"], chars = "atach"
    Output: 6
    Explanation: 
    The strings that can be formed are "cat" and "hat" so the answer is 3 + 3 = 6.
    

    Example 2:

    Input: words = ["hello","world","leetcode"], chars = "welldonehoneyr"
    Output: 10
    Explanation: 
    The strings that can be formed are "hello" and "world" so the answer is 5 + 5 = 10.
    

    Note:

    1. 1 <= words.length <= 1000
    2. 1 <= words[i].length, chars.length <= 100
    3. All strings contain lowercase English letters only.

    解题思路:很简单的题目,chars中每个字符出现的次数要大于等于word中每个字符出现的次数,即表示可以组成这个word。

    代码如下:

    class Solution(object):
        def countCharacters(self, words, chars):
            """
            :type words: List[str]
            :type chars: str
            :rtype: int
            """
            res = 0
            for word in words:
                flag = True
                for i in word:
                    if word.count(i) > chars.count(i):
                        flag = False
                        break
                if flag: res += len(word)
            return res
  • 相关阅读:
    关于 Profile
    empty
    Vim Editor
    C++ Note
    Android NDK Sample
    Dealing with the ! when you import android project
    File attributes and Authority of Linux
    Java与C的相互调用
    The source code list of Android Git project
    Enable Android progurad in the case of multiple JAR lib
  • 原文地址:https://www.cnblogs.com/seyjs/p/11376649.html
Copyright © 2011-2022 走看看