leetcode 拼寫單詞

2021-10-04 01:31:47 字數 1099 閱讀 6994

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

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

注意:每次拼寫時,chars 中的每個字母都只能用一次。

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

示例 1:

輸入:words = [「cat」,「bt」,「hat」,「tree」], chars = 「atach」

輸出:6

解釋:可以形成字串 「cat」 和 「hat」,所以答案是 3 + 3 = 6。

1: 最簡單的就是挨個遍歷,找出字串陣列中每個字串的每個字元是不是都存在於後面的字串中,且用過一次,就不能再用,我們可以將其刪除。這樣迴圈著找。結束我們再將後面的參照字串恢復。

2:運用雜湊表,乙個字元雜湊表,乙個字串雜湊表,將字元數目對映到雜湊表中,對比兩個雜湊表對應下標的數目即可。

int

countcharacters

(char

** words,

int wordssize,

char

* chars)

int res=0;

//訪問最後長度

int* stringmap=

(int*)

calloc

(sizeof

(int),

26);//分配並全部初始化為0

for(

int i=

0;i)int len=

strlen

(words[i]);

//每個字串長度

bool isok=true;

for(

int index=

0;index<

26;index++)}

if(isok)

res+

=len;

for(

int k=

0;k<

26;k++)}

return res;

}

寫c程式還是特別要注意陣列越界問題,一定要嚴謹。

Leetcode 拼寫單詞

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

LeetCode周競賽(拼寫單詞)

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

LeetCode 1160 拼寫單詞

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