LeetCode 1160 拼寫單詞

2021-10-08 22:55:30 字數 1130 閱讀 6766

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

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

注意:每次拼寫(指拼寫詞彙表中的乙個單詞)時,chars 中的每個字母都只能用一次。

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

輸入:words =

["cat"

,"bt"

,"hat"

,"tree"

], chars =

"atach"

輸出:6

解釋:

可以形成字串 "cat" 和 "hat",所以答案是 3+3

=6。

輸入:words =

["hello"

,"world"

,"leetcode"

], chars =

"welldonehoneyr"

輸出:10

解釋:可以形成字串 "hello" 和 "world",所以答案是 5+5

=10。

凡是和「變位詞」、「字母順序打亂」相關的題目,都考慮統計字母出現的次數。我們既統計「字母表」中字母出現的次數,也統計單詞中字母出現的次數。如果單詞中每種字母出現的次數都小於等於字母表中字母出現的次數,那麼這個單詞就可以由字母表拼出來。

public

intcountcharacters

(string[

] words, string chars)

}return count;

}// 用於統計字母表和單詞在26個字母的出現次數

int[

]counter

(string word)

return counter;

}// 用於比較兩個陣列中26個字母的數量

boolean

contatins

(int

char_counter,

int[

] word_counter)

}return

true

;}

LeetCode 1160 拼寫單詞

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

LeetCode 1160 拼寫單詞

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

LeetCode 1160 拼寫單詞

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