1160 拼寫單詞

2021-10-04 00:25:59 字數 834 閱讀 1640

思路

這道題給出了一張單詞表(陣列words)和字母表chars,若chars當中的字母可以構成單詞表中的某乙個單詞,則這個詞算作已經學會的詞。

需要注意的是有乙個附加條件,字母表中每個字母只能用一次,最開始做的時候沒有考慮這一點,導致出現了讓人抓耳撓腮的錯誤。

解題思路

先用雜湊表儲存chars當中的字母,出現的字母++,沒有出現的繼續為0。之後做單詞比較的時候,新建乙個雜湊表,每次使用某乙個單詞,就讓這個表中對應位置++,當新表中某位置大於之前的表時,就表示這個單詞學不會。

**

int

countcharacters

(vector

& words, string chars)

//雜湊表

int charnum[26]

=;for(

int i=

0;i)int count=

0,res=

0,sizeword=words.

size()

;int size0,j;

if(sizeword==0)

for(

int i=

0;iwhile

(jj++;}

if(count==size0)

count=0;

}return res;

}

執行結果

1160 拼寫單詞

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

1160 拼寫單詞

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

1160 拼寫單詞

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