340. Longest Substring with At Most K Distinct Characters
https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/
class Solution {
public int lengthOfLongestSubstringKDistinct(String s, int k) {
int l = 0;
int uniqueCnt = 0;
int[] map = new int[128];
int ans = 0;
char[] input = s.toCharArray();
int n = input.length;
for (int r = 0; r < n; r++) {
map[input[r]]++;
if (map[input[r]] == 1) {
uniqueCnt++;
}
while (uniqueCnt > k) {
map[input[l]]--;
if (map[input[l]] == 0) {
uniqueCnt--;
}
l++;
}
ans = Math.max(ans, r - l + 1);
}
return ans;
}
}
没啥要说的,主要是为下一道题铺垫,还有记得clarify string里是不是只有字母啥的
Previous26 remove duplicates from sorted arrayNext395 longest substring with at least k repeating characters
Last updated