import java.util.HashMap;
class Solution {
public int characterReplacement(String s, int k) {
HashMap<Character, Integer> freqMap = new HashMap<>();
int maxFreq = 0;
int maxLen = 0;
int left = 0;
for (int right = 0; right < s.length(); right++) {
char c = s.charAt(right);
freqMap.put(c, freqMap.getOrDefault(c, 0) + 1);
maxFreq = Math.max(maxFreq, freqMap.get(c));
while ((right - left + 1) - maxFreq > k) {
char leftChar = s.charAt(left);
freqMap.put(leftChar, freqMap.get(leftChar) - 1);
left++;
}
maxLen = Math.max(maxLen, right - left + 1);
}
return maxLen;
}
}