Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 804 Bytes

18.md

File metadata and controls

33 lines (22 loc) · 804 Bytes
static bool comp(pair<int,int>&a,pair<int,int> &b)
  {
    
    if(a.second == b.second) return a.first > b.first;
        return a.second > b.second;
  }
    vector<int> topK(vector<int>& nums, int k) {
        // Code here
        
        unordered_map<int,int> m;
        vector<pair<int,int>> ans;
        
        for(int i=0;i<nums.size();i++)
            m[nums[i]]++;
            
        for(auto it: m)
            ans.push_back(it);
            
        sort(ans.begin(),ans.end(),comp);
        
        vector<int> a;

    for (int i = 0; i < k && i < ans.size(); i++)
        a.push_back(ans[i].first);

        
        return a;
        
    }