滑動視窗
將字串s分為多個長度的w(每個單詞長度)的子區間,
使用hash儲存words中每個單詞的個數
再開乙個hash儲存遍歷時的每個單詞
用cnt來記錄子串中合法的單詞個數
每次遍歷,和m*w之前的那個單詞比較,如果單詞在第乙個開的hash中,就減去那個單詞
判斷新的單詞是不是儲存在hash裡且不超過words中的那個單詞的個數,如果是,代表這個單詞為合法單詞,cnt+1,
當cnt和m(words.size)相等時,即為一組結果,將j-(m-1)*w存入結果集
class
solution
string word = s.
substr
(j,w)
; wd[word]++;
if(wd[word]
<= tot[word]
) cnt++;if
(cnt == m) res.
push_back
(j-(m-1)
*w);}}
return res;}}
;
leetcode 30 串聯所有單詞的子串
leetcode題目鏈結 題目要求 找出 由words陣列組成的字串 每乙個元素word等長 在字元轉s中的位置 陣列words生成的字典dic2 遍歷字串,從頭開始判斷長度為lenwords的字串 生成的字典dic1 如果dic1 與 dic2 相同,說明找到 def findsubstring ...
leetcode 30 串聯所有單詞的子串
給定乙個字串 s 和一些長度相同的單詞 words。找出 s 中恰好可以由 words 中所有單詞串聯形成的子串的起始位置。注意子串要與 words 中的單詞完全匹配,中間不能有其他字元,但不需要考慮 words 中單詞串聯的順序。示例 1 輸入 s barfoothefoobarman words...
leetcode 30 串聯所有單詞的子串
題目 給定乙個字串 s 和一些長度相同的單詞 words。找出 s 中恰好可以由 words 中所有單詞串聯形成的子串的起始位置。注意子串要與 words 中的單詞完全匹配,中間不能有其他字元,但不需要考慮 words 中單詞串聯的順序。示例 1 輸入 s barfoothefoobarman wo...