Longest Repeating Character Replacement LeetCode solution in C++

1
class Solution {
2
public:
3
int characterReplacement(string s, int k) {
4
int n = s.length();
5
if (n == k) return n;
6
if (n == 1) return 1;
7

8
int res = 0;
9
int maxCnt = 0;
10

11
unordered_map<char, int> mp;
12

13
for (int l = 0, r = 0; r < n; r++) {
14
mp[s[r]]++;
15
maxCnt = max(maxCnt, mp[s[r]]);
16
while (r - l + 1 - maxCnt > k) {
17
mp[s[l]]--;
18
l++;
19
}
20
res = max(r - l + 1, res);
21
}
22
return res;
23
}
24
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0