給定乙個字串s和一些長度相同的單詞words。找出s中恰好可以由words中所有單詞串聯形成的子串的起始位置。
注意子串要與words中的單詞完全匹配,中間不能有其他字元,但不需要考慮words中單詞串聯的順序。
示例 1:
輸入:示例 2:s =
"barfoothefoobarman",words =["foo","bar"]輸出:[0,9]
解釋:從索引 0 和 9 開始的子串分別是 "barfoor" 和 "foobar" 。輸出的順序不重要, [9,0] 也是有效答案。
輸入:code:s =
"wordgoodgoodgoodbestword",words =["word","good","best","word"]輸出:
不算難的乙個題,使用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...