340. Longest Substring with At Most K Distinct Characters
https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/description/
Thoughts
Code
class Solution {
public:
int lengthOfLongestSubstringKDistinct(string s, int k) {
int res = 0;
unordered_map<char, int> freqs;
for (int l = 0, r = 0, cnt = 0; r < s.length(); ++r) {
const auto rk = s[r];
if (freqs[rk] == 0) ++cnt;
++freqs[rk];
while (cnt > k) {
const auto lk = s[l];
--freqs[lk];
++l;
if (freqs[lk] == 0) --cnt;
}
res = max(res, r - l + 1);
}
return res;
}
};Analysis
Previous1248. Count Number of Nice SubarraysNext395. Longest Substring with At Least K Repeating Characters
Last updated