Problem: Substring with Concatenation of All Words
Explore how to find all starting indices of substrings formed by concatenating all given words in a string. Learn to implement a sliding window combined with hash tables to track word frequencies and efficiently verify valid concatenations. This lesson helps you understand applying hash maps for frequency counting and window-based string processing.
We'll cover the following...
Statement
You are given a string s and an array of strings words, where every string in words has the same length.
A concatenated string is formed by taking any permutation of words and concatenating all the strings in that permutation together. In other words, it is a string that contains every element of words exactly in the order defined by some permutation, with no extra characters.
Return a list of all starting indices in s where a substring that is a concatenated string begins. The answer may be returned in any order.
Note: The array
wordsmay contain duplicate strings.
Constraints:
s.lengthwords.lengthwords[i].length...