Minimum Window Substring LeetCode solution in C++

1
class Solution {
2
public:
3
string minWindow(string s, string t) {
4
unordered_map<char, int> ump;
5
for (auto i : t) {
6
ump[i]++;
7
}
8

9
int i = 0, j = 0, count = 0;
10
int ans = INT_MAX, answer = 0;
11
for (; j < s.size(); j++) {
12
if (ump[s[j]] > 0) {
13
count++;
14
}
15
ump[s[j]]--;
16
if (count == t.size()) {
17
while (i < j && ump[s[i]] < 0) {
18
ump[s[i]]++;
19
i++;
20
}
21
if (ans > j - i + 1) {
22
ans = j - i + 1;
23
answer = i;
24
}
25
ump[s[i]]++;
26
i++;
27
count--;
28
}
29
}
30
return ans == INT_MAX ? "" : s.substr(answer, ans);
31
}
32
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0