


You are given string S of length N, and an integer K. Your task is to find the length of the longest substring that contains at most K distinct characters.
The first line contains an Integer 'T' which denotes the number of test cases/queries to be run.
Then the test cases follow.
The first line of input for each test case/query contains an integer K.
The second line of input for each test case/query contains a string S.
Output Format:
For each test case, print the length of the longest substring that contains at most K distinct characters.
Output for every test case will be printed in a separate line.
Note:
You do not need to print anything, it has already been taken care of. Just implement the function.
1 <= T <= 10
1 <= K <= 26
1 <= N <= 10^4
Time Limit: 1sec
2
2
abcba
1
abccc
3
3
Test Case 1:
K = 2 in the first test case so we can choose substring ‘bcb’ having 2 distinct characters which are less than equal to K=2.
We cannot get any other substring of length 4 or greater having distinct characters less than equal to 2.
Test Case 2:
K = 1 in the second test case so we can choose substring ‘ccc’ having only 1 distinct character which is less than equal to K=1.
We cannot get any other substring of length 4 or greater having distinct characters less than equal to 1.
Try to check every substring.
O(N^3), where N is the size of the string.
We are generating all the substring in O(N^2) complexity and for every substring, one traversal will be required to check the number of distinct characters.
O(1).
We are using constant extra space.