sliding window For each of the ending index j: we want to find the largest starting index i where [i,j] contains all the characters time: O(s + t) space: O(t)