Frequency Queries

  • + 0 comments

    I am using c++, 5 tests didn't pass, how can I improve it?

    vector<int> freqQuery(vector<vector<int>> queries) {
        vector<int> resultFreq;
        unordered_map<int,int> subFinal;
    
        bool check;
    
        // Open the vector
        for(const auto& q: queries){
            //insert
            if(q[0] == 1)
                subFinal[q[1]]++;
    	
            // decrement
            if(q[0] == 2){
                if(q[q[1]] > 0)
                    subFinal[q[1]]--;
                if(q[q[1]] == 0)
                    subFinal.erase(q[1]);
                
            }
            // find
            if(q[0] == 3){
                check = true;
                for(const auto& [key, val] : subFinal){
                    if(val == q[1]){
                        check = false;
                        break;
                    }
                }
                if(check == false)
                    resultFreq.push_back(1);
                else
                    resultFreq.push_back(0);
            }
        }
    
        return resultFreq;
    }