Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int DistLetters(string s, int k)
- {
- int longest = 0, start = 0, distinct_count = 0;
- array<int, 256> visited = {0};
- for (int i = 0; i < s.length(); ++i)
- {
- if (visited[s[i]] == 0)
- ++distinct_count;
- ++visited[s[i]];
- while(distinct_count > k)
- {
- --visited[s[start]];
- if (visited[s[start]] == 0)
- {
- --distinct_count;
- }
- ++start;
- }
- longest += i - start + 1;
- }
- return longest;
- }
- int DistinctLetters(string s, int L, int U)
- {
- return (DistLetters(s,U)-DistLetters(s,L-1));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement