Problem Statement
Given an array of integers arr
, return true
if the number of occurrences of each value in the array is unique, or false
otherwise.
Example 1:
Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.
Example 2:
Input: arr = [1,2] Output: false
Example 3:
Input: arr = [-3,0,1,-3,1,1,1,-3,10,0] Output: true
Constraints:
1 <= arr.length <= 1000
-1000 <= arr[i] <= 1000
Solution Program
[C++]
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
int n=arr.size();
int c=0;
int arr1[1000];
sort(arr.begin(),arr.end());
int k=0;
for(int i=0;i<n;i=i+c,k++)
{ c=0;
for(int j=0;j<n;j++)
{
if(arr[i]==arr[j])
c++;
}
arr1[k]=c;
}
int l;
for(int i=0;i<k;i++)
{ l=0;
if(arr1[i]!=0)
for(int j=0;j<k;j++)
{
if(arr1[i]==arr1[j])
l++;
}
if(l>1)
return false;
}
return true;}
};
if ( This Post was Helpful )
{
<<"Do Share it with Your Friends and Classmates">>
}
return Comments and Likes;
0 Comments