Given two strings s and t, return the minimum window substring of s such that every character in t, including duplicates, is included in the window.
If no such substring exists, return an empty string.
Maintain only the current window state as it expands or shrinks. Watch for the exact condition that makes a window valid, invalid, or worth recording.
Examples
Input: s = "ADOBECODEBANC", t = "ABC" Output: "BANC"
Input: s = "a", t = "a" Output: "a"
Input: s = "a", t = "aa" Output: ""
Constraints
- 1 <= s.length, t.length <= 100,000
- s and t consist of uppercase and lowercase English letters.