424. Longest Repeating Character Replacement

202407121227
tags: #sliding-window

var characterReplacement = function(s, k) {
	const len = s.length;
	const freqCounts = new Map();
	let start = 0;
	let maxCount = 0;
	let maxLen = 0;
	for (let end = 0; end < len; end++) {
		freqCounts.set(s[end], (freqCounts.get(s[end]) ?? 0) + 1);
		maxCount = Math.max(maxCount, freqCounts.get(s[end]));
		while (end - start + 1 - maxCount > k) {
			freqCounts.set(s[start], freqCounts.get(s[start]) - 1);
			start += 1;
		}
		maxLen = Math.max(maxLen, end - start + 1);
	}
	return maxLen;
};

Reference

https://leetcode.com/problems/longest-repeating-character-replacement/