描述
给定一个字符串 s 和一些 长度相同 的单词 words 。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。
注意子串要与 words 中的单词完全匹配,中间不能有其他字符 ,但不需要考虑 words 中单词串联的顺序。
分析
暴力的思路:
固定的滑动窗口遍历字符串s,当窗口和words数组匹配时,记录窗口的左端点。
使用两个map数组,一个用来存储words,另一个记录每个窗口按固定长度切分后各个单词。
class Solution {
public List<Integer> findSubstring(String s, String[] words) {
Map<String,Integer> wmap = new HashMap<>();