Skip to content

Latest commit

 

History

History
55 lines (39 loc) · 1 KB

33.md

File metadata and controls

55 lines (39 loc) · 1 KB

Method 1

 bool uniqueOccurrences(vector<int>& arr) {
        unordered_map<int,int>m;

        for(int i=0;i<arr.size();i++)
            m[arr[i]]++;

       unordered_set<int>s;

       for(auto& it:m)
       {
           if(s.find(it.second)!=s.end())
                return false;
            s.insert(it.second);
       }

       return true;
    }

METHOD 2

bool uniqueOccurrences(vector<int>& arr) {
        sort(arr.begin(),arr.end());

        vector<int>ans;

        for(int i=0;i<arr.size();i++)
        {
            int c=1;

            while(i+1<arr.size() && arr[i]==arr[i+1])
            {
                c++;
                i++;
            }
            
            ans.push_back(c);
        }

        sort(ans.begin(),ans.end());

        for(int i=1;i<ans.size();i++)
            if(ans[i]==ans[i-1])
                return false;

        return true;
    }