5205. 独一无二的出现次数(周赛156)
Posted luyuan-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5205. 独一无二的出现次数(周赛156)相关的知识,希望对你有一定的参考价值。
给你一个整数数组 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
思路:比较元素和元素之间的出现次数的出现次数是否相同,第一次想还是有点绕的hhhh,人菜就要多刷题
1 class Solution { 2 public: 3 int cnt[2020],ccnt[1010]; 4 bool uniqueOccurrences(vector<int>& arr) { 5 //将每个数字的出现次数统计出来 6 for(auto v : arr) ++cnt[v + 1000]; 7 //统计出现次数的出现次数 8 for(int i = 0;i <= 2000;i++) ++ccnt[cnt[i]]; 9 cout << ccnt[1] << ccnt[2] << ccnt[3] << endl; 10 //如果ccnt的元素大于一表示除了0以外有两个或者两个元素以上元素出现次数的次数相同 11 for(int i = 1;i <= 1000;i++) if(ccnt[i] > 1) return false; 12 return true; 13 } 14 };
以上是关于5205. 独一无二的出现次数(周赛156)的主要内容,如果未能解决你的问题,请参考以下文章
[E模拟] lc5804. 检查是否所有字符出现次数相同(模拟+双周赛57_1)
第 258 场周赛(5867. 反转单词前缀/ 5868. 可互换矩形的组数 / 5869. 两个回文子序列长度的最大乘积(状态压缩) / 5870. 每棵子树内缺失的最小基因值(小大合并))(代码片