App加网站什么做,重庆景点排行榜前十名,企业营销策划是什么,重庆网站开发企业题目要求
给你一个整数数组 arr#xff0c;请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的#xff0c;就返回 true#xff1b;否则返回 false。示例 1#xff1a;输入#xff1a;arr [1,2,2,1,1,3]
输出#xff1a;true
解释#xff1a;在该…题目要求
给你一个整数数组 arr请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的就返回 true否则返回 false。示例 1输入arr [1,2,2,1,1,3]
输出true
解释在该数组中1 出现了 3 次2 出现了 2 次3 只出现了 1 次。没有两个数的出现次数相同。
示例 2输入arr [1,2]
输出false
示例 3输入arr [-3,0,1,-3,1,1,1,-3,10,0]
输出true提示1 arr.length 1000
-1000 arr[i] 1000题目代码:
int compare(const void* a,const void* b)
{return *(int*)a - *(int*)b;
}
bool uniqueOccurrences(int* arr, int arrSize) {//创建数组int* number (int*)malloc(sizeof(int) * 1000);int i 0;int f 0;int flag1 1;//往数组里面放入arr里的元素for(i 0;i arrSize;i){int flag 1;int j 0;if(flag1 1){number[f] arr[i];f;flag1 0;}for(j 0;j f;j){if(arr[i] number[j]){flag 0;break;}}if(flag 1){number[f] arr[i];f;}}//创建一个数组表示number里面各数出现的次数int* count (int*)malloc(sizeof(int) * f);for(i 0;i f;i){int count1 0;int j 0;for(j 0;j arrSize;j){if(number[i] arr[j]){count1;}}count[i] count1;}//排序qsort(count,f,sizeof(int),compare);//判断for(i 0;i f - 1;i){if(count[i] count[i 1]){return false;}}return true;
}我这个时间复杂度比较高大家如果觉得好的话就请给个免费的赞吧谢谢了^ _ ^