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;
}
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;
}