Longest Repeating Character Replacement LeetCode solution in Java
1/** Time O(n) Space O(26) */2class Solution {3public int characterReplacement(String s, int k) {4// Space O(26)5int[] dic = new int[26];6int start = 0;7int maxLen = 0;8// Time O(n)9for (int end = 0; end < s.length(); end++) {10maxLen = Math.max(maxLen, ++dic[s.charAt(end) - 'A']);11if (end - start + 1 > maxLen + k) {12dic[s.charAt(start) - 'A']--;13start++;14}15}16return s.length() - start;17}18}