
This problem is similar to the problem "Length of the Largest Subarray". The only difference is that there can be duplicate elements in this problem.
Let ‘ARR’ be: [1, 2, 4]
Then the largest subarray with continuous sequence will be: [1, 2]
So the length will be 2.
The first line of input contains an integer ‘T’, denoting the number of test cases.
The first line of each test case contains a single integer ‘N’, representing the size of the array.
The second line of each test case contains ‘N’ space-separated integers, representing the elements of the array ‘ARR’.
For each test case, print the length of the longest subarray having a continuous sequence.
Print output of each test case in a separate line.
You do not need to print anything. It has already been taken care of. Just implement the given function.
1 <= T <= 10
1 <= N <= 5*10^3
1 <= ARR[i] <= 10^9
Time Limit: 1 sec
In this approach, we will find the maximum and minimum element of each subset in the array and if the difference between maximum and minimum elements is equal to the difference in indices then it’s a valid set.
This method will work if all the elements are distinct, but to account for duplicates we will have to keep a HashSet and if an element occurs twice in the subarray, we won’t count that subarray.