MCPcopy Index your code
hub / github.com/Tiwarishashwat/InterviewCodes / secFrequent

Method secFrequent

SecondMostRepeatedString.java:3–40  ·  view source on GitHub ↗
(String arr[], int N)

Source from the content-addressed store, hash-verified

1class Solution
2{
3 String secFrequent(String arr[], int N)
4 {
5 // your code here
6 HashMap<String,Integer> map = new HashMap<>();
7
8 for(int i=0;i<N;i++)
9 {
10 map.put(arr[i],map.getOrDefault(arr[i],0)+1);
11 }
12
13 int first_max = Integer.MIN_VALUE, sec_max = Integer.MIN_VALUE;
14
15 Iterator<Map.Entry<String, Integer>> itr = map.entrySet().iterator();
16
17 while (itr.hasNext())
18 {
19 Map.Entry<String, Integer> entry = itr.next();
20 int v = entry.getValue();
21 if( v > first_max)
22 {
23 sec_max = first_max;
24 first_max = v;
25 }
26 else if (v > sec_max && v != first_max)
27 sec_max = v;
28 }
29
30 itr = map.entrySet().iterator();
31
32 while (itr.hasNext())
33 {
34 Map.Entry<String, Integer> entry = itr.next();
35 int v = entry.getValue();
36 if (v == sec_max)
37 return entry.getKey();
38 }
39 return null;
40 }
41}

Callers

nothing calls this directly

Calls 1

getValueMethod · 0.80

Tested by

no test coverage detected