• 5205. 独一无二的出现次数(周赛156(1))


    给你一个整数数组 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 };
  • 相关阅读:
    利用密钥通过ssh互访
    rsync参数及通信
    cacti 安装
    地区排名脚本 一千三百多行代码
    调用分隔符的数组。
    select case when
    jquery 设置select 默认值
    常见的分析函数
    oracle分析函数 之分组累加求和
    ORACLE的表被 另一个用户锁定,如何解除..
  • 原文地址:https://www.cnblogs.com/luyuan-chen/p/11612395.html
Copyright © 2020-2023  润新知