1160 拼寫單詞

2021-10-04 01:12:52 字數 880 閱讀 3575

題目要求以及示例:

給你乙份『詞彙表』(字串陣列) 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。

解題思路:意思就是對於words裡面的每個string word元素,檢視是否能由chars給出的字母拼出來,每個單詞拼寫 中不能重複使用;單詞間的拼寫可以重複使用。本道題先想到的是遍歷,但是太麻煩,也想不到更好的方法,選擇檢視題解。發現題解中統計字母出現的頻數是個好方法,如果chars中字母頻數少於要拼寫單詞的頻數,那麼就無法拼寫成功。

**如下:

class solution 

return ans;

}//判斷能否由chars組成

bool contains(vector&chars_count,vector&word_count)

return counter;

}};

1160 拼寫單詞

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

1160 拼寫單詞

思路 這道題給出了一張單詞表 陣列words 和字母表chars,若chars當中的字母可以構成單詞表中的某乙個單詞,則這個詞算作已經學會的詞。需要注意的是有乙個附加條件,字母表中每個字母只能用一次,最開始做的時候沒有考慮這一點,導致出現了讓人抓耳撓腮的錯誤。解題思路 先用雜湊表儲存chars當中的...

1160 拼寫單詞

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