給你乙份『詞彙表』(字串陣列) words 和一張『字母表』(字串) chars。
假如你可以用 chars 中的『字母』(字元)拼寫出 words 中的某個『單詞』(字串),那麼我們就認為你掌握了這個單詞。
注意:每次拼寫(指拼寫詞彙表中的乙個單詞)時,chars 中的每個字母都只能用一次。
返回詞彙表 words 中你掌握的所有單詞的 長度之和。
示例 1:
輸入:words = [「cat」,「bt」,「hat」,「tree」], chars = 「atach」
輸出:6
解釋:可以形成字串 「cat」 和 「hat」,所以答案是 3 + 3 = 6。
當我們發現這種亂序的單詞情況,就要想到用雜湊的思想(map),我們為words中每個元素列乙個頻次表,為chars見乙個頻次表。只要保證words頻次表的元素比chars小或者相等,就說明可以組成這個單詞。其中我們要知道當生成map,int預設為0。
**:
class
solution
for(
int i=
0;isize()
;i++
)int flag=1;
for(
int j=
0;jfor(
int j=
0;j(flag==1)
}return ans;}}
;
1160 拼寫單詞
給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 長度之...
1160 拼寫單詞
思路 這道題給出了一張單詞表 陣列words 和字母表chars,若chars當中的字母可以構成單詞表中的某乙個單詞,則這個詞算作已經學會的詞。需要注意的是有乙個附加條件,字母表中每個字母只能用一次,最開始做的時候沒有考慮這一點,導致出現了讓人抓耳撓腮的錯誤。解題思路 先用雜湊表儲存chars當中的...
1160 拼寫單詞
題目要求以及示例 給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的...