You are viewing a single comment's thread. Return to all comments →
Can you please check my code, It's timing out for testcase 9, 10, 11, 12, 13. I have chnaged boilerplate code. Thanks in advance.
static List<Integer> freqQuery(int[][] queries) { List<Integer> res = new ArrayList<>(); if(queries==null || queries.length==0){ return null; } Map<Integer, Integer> elementFreeqMap = new HashMap<>(); Map<Integer, Integer> freqCountMap = new HashMap<>(); int currentFreq = 0; int currFreqElemCount = 0; for(int[] query:queries){ int command = query[0]; int param = query[1]; if(command==1){ currentFreq = elementFreeqMap.getOrDefault(param, 0); currFreqElemCount = freqCountMap.getOrDefault(currentFreq, 0); if(currFreqElemCount>0){ freqCountMap.put(currentFreq, currFreqElemCount-1); } currentFreq ++; elementFreeqMap.put(param,currentFreq); currFreqElemCount = freqCountMap.getOrDefault(currentFreq, 0); freqCountMap.put(currentFreq, currFreqElemCount+1); }else if(command==2){ currentFreq = elementFreeqMap.getOrDefault(param, 0); if(currentFreq>0){ currFreqElemCount = freqCountMap.getOrDefault(currentFreq, 0); if(currFreqElemCount>0){ freqCountMap.put(currentFreq, currFreqElemCount-1); } currentFreq--; elementFreeqMap.put(param,currentFreq); currFreqElemCount = freqCountMap.getOrDefault(currentFreq, 0); freqCountMap.put(currentFreq, currFreqElemCount+1); } }else if(command==3){ currFreqElemCount = freqCountMap.getOrDefault(param, 0); if(currFreqElemCount==0){ res.add(0); }else{ res.add(1); } }else{ //error } } return res; }
Seems like cookies are disabled on this browser, please enable them to open this website
Frequency Queries
You are viewing a single comment's thread. Return to all comments →
Can you please check my code, It's timing out for testcase 9, 10, 11, 12, 13. I have chnaged boilerplate code. Thanks in advance.