leetcode 30 串聯所有單詞的子串

2021-10-01 17:54:13 字數 882 閱讀 2378

給定乙個字串 s 和一些長度相同的單詞 words。找出 s 中恰好可以由 words 中所有單詞串聯形成的子串的起始位置。

注意子串要與 words 中的單詞完全匹配,中間不能有其他字元,但不需要考慮 words 中單詞串聯的順序。

示例 1:

輸入:s = 「barfoothefoobarman」,

words = [「foo」,「bar」]

輸出:[0,9]

解釋:從索引 0 和 9 開始的子串分別是 「barfoo」 和 「foobar」 。

輸出的順序不重要, [9,0] 也是有效答案。

示例 2:

輸入:s = 「wordgoodgoodgoodbestword」,

words = [「word」,「good」,「best」,「word」]

輸出:

class

solution

//否則該單詞存在於words中,對應查詢map值加一

find_map[cur]++;

//此時可能存在一種情況,即該單詞出現次數過多,超過了words中的數量

//則將左邊界向右推進,將因推進而離開子串邊界的單詞從查詢map中去除

//直至該單詞的數量符合要求,注意推進會減少已經匹配單詞的數量。

while

(find_map[cur]

>word_map[cur]

)//處理後,如果匹配單詞的數量達到了words_len

//即目前的子串與words完全匹配,將其左邊界即子串起始位置索引返回

if(count==word_num) res.

push_back

(left);}

}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...