I am doing the Hacker Rank Frequency Queries question and all my test cases pass but one for Time limit exceeded. What can I do to make my program more efficient.
static List<Integer> freqQuery(List<List<Integer>> queries) {
List<Integer> freqCount = new ArrayList();
HashMap<Integer, Integer> data = new HashMap<>();
for(List q : queries){
int op = (Integer)q.get(0);
int num = (Integer)q.get(1);
switch (op){
case 1:
if(data.get(num) == null){
//Add new value to hashmap
data.put(num, 1);
}else{
data.put(num, data.get(num) + 1);
}
break;
case 2:
if(data.get(num) != null){
if(data.get(num) == 0){
//data.remove(num);
}else{
data.put(num, data.get(num) - 1);
}
}
break;
case 3:
if(data.containsValue(num)){
freqCount.add(1);
}else{
freqCount.add(0);
}
break;
}
}
return freqCount;
}