Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Longest Repeating Character Replacement | Sliding Window | Leetcode
Jan 1, 2025
348 views
You are given a string s and an integer k. You can choose any character of the string and change it to any other uppercase English character. You can perform this operation at most k times.
Return the length of the longest substring containing the same letter you can get after performing the above operations.
Example 1:
Example 2:
for{
if(){
If the current window is valid, we can continue expanding it because the replacements required are within the allowed limit k.
}else{
}
}
On Invalid Window:
function characterReplacement(s, k) { const charCount = {}; let start = 0; let maxCount = 0; let maxLength = 0; for (let end = 0; end < s.length; end++) { // Update character frequency charCount[s[end]] = (charCount[s[end]] || 0) + 1; // Update the count of the most frequent character in the window maxCount = Math.max(maxCount, charCount[s[end]]); // Check if the window is valid let windowSize = end - start + 1; if (windowSize - maxCount > k) { charCount[s[start]]--; start++; // Shrink the window } // Update the maximum length maxLength = Math.max(maxLength, end - start + 1); } return maxLength; }