Search⌘ K
AI Features

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.

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 words may contain duplicate strings.

Constraints:

  • 11 \leq s.length 104\leq 10^4

  • 11 \leq words.length 5000\leq 5000

  • 11 \leq words[i].length ...