Sorting Elements of an Array by Frequency

PHOTO EMBED

Mon Nov 07 2022 05:15:19 GMT+0000 (Coordinated Universal Time)

Saved by @Ranjan_kumar #c++

#include <bits/stdc++.h>
using namespace std;

int main() 
{
    int t;
    cin>>t;
    while(t--)
    {
      int n;
      cin>>n;
      int a[n];
      for(int i=0;i<n;i++)
      {
         cin>>a[i];
      }
      unordered_map<int,int> m1;
      for(int i=0;i<n;i++)
      {
         m1[a[i]]++;
      }
      priority_queue<pair<int,int>> maxH;
      for(auto x:m1)
      {
         maxH.push({x.second,-1*(x.first)});
      }
      while(!maxH.empty())
      {
         int freq=maxH.top().first;
         int ele=-1*(maxH.top().second);
         for(int i=0;i<freq;i++)
         {
            cout<<ele<<" ";
         }
         maxH.pop();
      }
      cout<<"\n";
    }
	return 0;
}
content_copyCOPY

https://practice.geeksforgeeks.org/problems/sorting-elements-of-an-array-by-frequency/0