Concept Flow - Minimum Window Substring
Initialize frequency map of target chars
Start sliding window
Expand right pointer to include chars
Check if window contains all target chars
Expand right
Update minimum window
Move left pointer
Repeat until right reaches end
Return min window
We use two pointers to create a sliding window that expands and shrinks to find the smallest substring containing all target characters.