class Solution {
public int characterReplacement(String s, int k) {
char[] input = s.toCharArray();
Set<Character> set = new HashSet<>();
int ans = 0;
int n = input.length;
for (char ch : input) {
set.add(ch);
}
for (char curCh : set) {
// char curCh = (char)('A' + i);
int l = 0;
int diffCnt = 0;
for (int r = 0; r < n; r++) {
if (curCh != input[r]) {
diffCnt++;
}
while (diffCnt > k) {
if (curCh != input[l]) {
diffCnt--;
}
l++;
}
ans = Math.max(ans, r - l + 1);
}
}
return ans;
}
}