Longest Repeating Character Replacement LeetCode solution in Java

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

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0