You are given an array of strings ‘ARR’. You have to find out the second most repeated word in the array ‘ARR’. It is guaranteed every string occurs a unique number of times in the array. If there is only one unique string in the array, return an empty string.
Example:-N = 5
S = [‘aaa’, ‘bbb’, ‘ccc’, ‘aaa’, ‘bbb’, ‘aaa’]
ANSWER:- The answer should be ‘bbb’ as it is repeated 2 times and is the second most repeated word in the array [after the word ‘aaa’ which is repeated 3 times].
The first line contains a single integer ‘T’ representing the number of test cases. Then each test case follows.
The first line of every test case contains an integer ‘N’ denoting the length of the array.
The next line of every test case contains ‘N’ strings denoting the string in the array.
Output Format :
For each test case, return the second most repeated character in the array. If there is only one unique string in the array, return an empty string.
The output of each test case should be printed in a separate line.
Note :
You are not required to print anything, it has already been taken care of. Just implement the function.
1 <= T <= 10
1 <= N <= 1000
1 <= |ARR[i]| <= 1000
Note:- It is guaranteed that every string has a unique frequency in the array.
Time Limit = 1 sec
2
3
aa bb aa
6
a b b c a a
bb
b
In the first test case, the string ‘bb’ has frequency 1 and is the 2nd most repeated character in the array.
In the second test case, the string ‘b’ has frequency 2 and is the 2nd most repeated character in the array.
1
6
a c c c d d
d
Store the frequency of all the strings in the array.
Iterate through the array and store the frequency of each string in the array. Find out the maximum frequency word which occurs in the array and print the word which has the maximum frequency but has less frequency than the maximum one.
Algorithm:-
O(N*max(|ARR[i]|), where N is the length of the array ARR.
We are iterating through the array once and storing every string in the dictionary which takes |ARR[i]| time each, so the time complexity is O(N*max(|ARR[i]|).
O(N*max(|ARR[i]|), where N is the length of the array ARR.
We are iterating through the array once and storing every string in the dictionary, so the space complexity is O(N*max(|ARR[i]|).