1160 拼寫單詞

2021-09-26 08:31:24 字數 918 閱讀 1232

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

此題涉及到字元匹配,是一般的字元匹配題,難度很小。

通過呼叫string的find方法,同時定義乙個temp字串,放到for迴圈裡,每一次迴圈都更新為chars。

for迴圈裡的迴圈次數為words中的字串個數。

在每一次更新中,利用find()函式對words[i]中的每乙個字元進行尋找,若找不到,直接continue,否則就使temp對應的字元變成』-1』(題目裡事先說只有小寫字母)。

最後,如果word[i]中的字元都可以由chars提供,則令cnt+words[i].length();

迴圈結束後,直接返回出cnt值就行啦。

class solution 

else

}if(flag == 1)

}return num ;

}};

1160 拼寫單詞

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

1160 拼寫單詞

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

1160 拼寫單詞

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