Concept Flow - Minimum Window Substring
Start
Initialize frequency map of target chars
Set two pointers: left=0, right=0
Expand right pointer to include chars
Update window counts and check if window valid
While window valid: try to shrink from left
Update minimum window if smaller
Move left pointer to shrink window
Repeat expand/shrink until right reaches end
Return minimum window substring or empty if none
We move two pointers over the string to find the smallest substring containing all target chars, expanding right to include chars and shrinking left to minimize.
