题意:给出一个字符串,和一个字典,字典中有若干个单词(可能有重复单词),每个单词的长度相等,现在要求所有字典中全部单词的任意组合在字符串中的起始下标。
思路:首先先说一下用ac自动机复杂度可以优化到O(n)啊!!!!!!看了votes最高的答案,复杂度是O(n*k)(n为字符串长度,k为字典中单词长度)。
现在 说一下做法,设字符串长度为n,字典中有m个单词,每个单词长度为w。
朴素的做法是对于每个位置,对于从它向后的m*w个位置进行判断,看看是否符合要求,这样做的时间复杂度为O(n*m*w),
那么怎么优化呢,可以用滑动窗口的思想,用两个指针标记一下窗口的起止位置,在窗口中的单