LeetCode 1160 拼寫單詞

2021-10-04 01:56:35 字數 952 閱讀 6491

leetcode:1160. 拼寫單詞

給你乙份『詞彙表』(字串陣列) words 和一張『字母表』(字串) chars。

假如你可以用 chars 中的『字母』(字元)拼寫出 words 中的某個『單詞』(字串),那麼我們就認為你掌握了這個單詞。

注意:每次拼寫時,chars 中的每個字母都只能用一次。

返回詞彙表 words 中你掌握的所有單詞的 長度之和。

示例 1:

輸入:words = [「cat」,「bt」,「hat」,「tree」], chars = 「atach」

輸出:6

解釋:可以形成字串 「cat」 和 「hat」,所以答案是 3 + 3 = 6。

示例 2:

輸入:words = [「hello」,「world」,「leetcode」], chars = 「welldonehoneyr」

輸出:10

解釋:可以形成字串 「hello」 和 「world」,所以答案是 5 + 5 = 10。

1 <= words.length <= 1000

1 <= words[i].length, chars.length <= 100

所有字串中都僅包含小寫英文本母

class

solution

if(is_ans)

ans +

= word.

size()

;}return ans;}}

;

方法一:雜湊表記數

顯然,對於乙個單詞 word,只要其中的每個字母的數量都不大於 chars 中對應的字母的數量,那麼就可以用 chars 中的字母拼寫出 word。所以我們只需要用乙個雜湊表儲存 chars 中每個字母的數量,再用乙個雜湊表儲存 word 中每個字母的數量,最後將這兩個雜湊表的鍵值對逐一進行比較即可。

對於map完全不熟悉,還需要理解。

LeetCode 1160 拼寫單詞

題目 給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 ...

LeetCode 1160 拼寫單詞

給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 長度之...

LeetCode 1160 拼寫單詞

給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 長度之...