30 串聯所有單詞的子串

2021-09-19 16:17:05 字數 1106 閱讀 6013

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

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

示例 1:

輸入:

s ="barfoothefoobarman",words =["foo","bar"]輸出:[0,9]解釋:從索引 0 和 9 開始的子串分別是 "barfoor" 和 "foobar" 。

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

示例 2:

輸入:

s ="wordgoodgoodgoodbestword",words =["word","good","best","word"]輸出:

code:

不算難的乙個題,使用hashmap儲存比對即可ac

class solution 

hashmaprecord = new hashmap<>();

for (string word:words)

record.put(word,in+1);

}int wordlen = words[0].length();

int count = words.length;

int len = s.length();

int forlen = len - wordlen*count;

for (int i = 0; i < forlen+1; i++) else

}if (cou==0)}}

return res;

}}

30 串聯所有單詞的子串

本文參考 一開始的思路是使用遞迴做出words所有結合情況的字典 然後在s中擷取words長度去查字典 結果超時了 超時 class solution for int i 0 i chang i return vectorfindsubstring string s,vector words vec...

30 串聯所有單詞的子串

給定乙個字串 s 和一些長度相同的單詞words。找出s中恰好可以由words中所有單詞串聯形成的子串的起始位置。注意子串要與words中的單詞完全匹配,中間不能有其他字元,但不需要考慮words中單詞串聯的順序。輸入 s barfoothefoobarman words foo bar 輸出 0,...

30 串聯所有單詞的子串

題目.很有意思 首先想到的就是動態規劃,當多乙個字串的字元的時候,要麼增加的這個字元起到了作用,要麼沒起到作用。更進一步,我們不需要之前的狀態,所以動態規劃的陣列也省了。func checkmatch subs string wordsmap map string int wordlen int b...