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)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Weekly 156

1207. 独一无二的出现次数『简单』

[E模拟] lc5804. 检查是否所有字符出现次数相同(模拟+双周赛57_1)

leetcode-168周赛-1297-子串的最大出现次数

第 258 场周赛(5867. 反转单词前缀/ 5868. 可互换矩形的组数 / 5869. 两个回文子序列长度的最大乘积(状态压缩) / 5870. 每棵子树内缺失的最小基因值(小大合并))(代码片

168场周赛