Untitled
unknown
plain_text
a month ago
2.8 kB
2
Indexable
public class Solution { public int characterReplacement(String s, int k) { int n = s.length(); int[] arr = new int[26]; // To count frequencies of characters in the window int maxFreq = 0; // Maximum frequency of a single character in the current window int maxLength = 0; int i = 0; // Left pointer of the window int j = 0; while(j<n){ // Right pointer of the window // Update the frequency of the current character arr[s.charAt(j) - 'A']++; // Update the maximum frequency of any character in the window maxFreq = Math.max(maxFreq, charCount[s.charAt(j) - 'A']); // Check if the window is valid: // Total characters minus the most frequent character count should be <= k while ((j - i + 1) - maxFreq > k) { // Shrink the window from the left arr[s.charAt(i) - 'A']--; i++; maxFreq = 0; for(int p=0;p<26;p++) { maxFreq = Math.max(maxFreq,arr[p]); } } // Update the maximum length of the valid window maxLength = Math.max(maxLength, j - i + 1); j++; } return maxLength; } } class Solution { public int characterReplacement(String s, int k) { int n = s.length(); int[] arr = new int[26]; // To count frequencies of characters in the window int maxFreq = 0; // Maximum frequency of a single character in the current window int maxLength = 0; int i = 0; // Left pointer of the window int j = 0; while(j<n){ // Right pointer of the window // Update the frequency of the current character arr[s.charAt(j) - 'A']++; // Update the maximum frequency of any character in the window maxFreq = Math.max(maxFreq, arr[s.charAt(j) - 'A']); // Check if the window is valid: // Total characters minus the most frequent character count should be <= k if ((j - i + 1) - maxFreq > k) { // Shrink the window from the left arr[s.charAt(i) - 'A']--; i++; maxFreq = 0; for(int p=0;p<26;p++) { maxFreq = Math.max(maxFreq,arr[p]); } } // Update the maximum length of the valid window if((j - i + 1) - maxFreq <= k) maxLength = Math.max(maxLength, j - i + 1); j++; } return maxLength; } }
Editor is loading...
Leave a Comment