Advertisement
vaibhav1906

Charu | Sort Array by Increasing Frequency

Jun 2nd, 2022
796
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. class Solution {
  2. public:
  3.  
  4.     vector<int> frequencySort(vector<int>& nums) {
  5.        
  6.        vector<int> freq(201,0);
  7.        
  8.         int n = nums.size();
  9.        
  10.         for(int i=0; i<n; i++){
  11.             freq[100+nums[i]]++;
  12.         }
  13.         vector<vector<int>>v;
  14.        
  15.         for(int i=0; i<201; i++){
  16.             if(freq[i]>0)
  17.             v.push_back({i-100,freq[i]});
  18.         }
  19.        
  20.         sort(v.begin(),v.end(),[](vector<int> &a , vector<int> &b){
  21.         if(a[1]==b[1]){
  22.             return a[0]>b[0];
  23.         }
  24.        
  25.         return a[1]<b[1];
  26.     });
  27.        
  28.         vector<int>ans;
  29.        
  30.         for(int i = 0 ; i<v.size(); i++){
  31.             for(int j = 0; j<v[i][1] ; j++){
  32.                 ans.push_back(v[i][0]);
  33.             }
  34.         }
  35.        
  36.         return ans;
  37.        
  38.     }
  39. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement