【力扣每日一题】1207. 独一无二的出现次数

简介: 【力扣每日一题】1207. 独一无二的出现次数


没想到C#的修改value值,可以直接 dis[key] = value 进行修改~~~

1. 题目描述

2. 题目分析

  • 每个数字在数组中出现的次数是独一无二的
  • 思路一:桶排,看了看数据范围,挺小,可以桶排
  • 思路二:字典(HashMap),最后Value都是等于1的返回true

3. 题目代码

public static bool UniqueOccurrences(int[] arr)
        {
            Dictionary<int, int> dic = new Dictionary<int, int>();
            for (int i = 0; i < arr.Length; i++)
            {
                if (dic.ContainsKey(arr[i]))
                {
                    int x = 0;
                    dic.TryGetValue(arr[i], out x);
                    x++;
                    dic[arr[i]] = x;
                }
                else
                {
                    dic.Add(arr[i], 1);
                }
            }
            Dictionary<int, int> dis = new Dictionary<int, int>();
            foreach (int value in dic.Values)
            {
                if (dis.ContainsKey(value))
                {
                    int x = 0;
                    dis.TryGetValue(value, out x);
                    x++;
                    dis[value] = x;
                }
                else
                {
                    dis.Add(value, 1);
                }
            }
            foreach (int value in dis.Values)
            {
                if (value != 1)
                {
                    return false;
                }
            }
            return true;
        }


目录
打赏
0
0
0
0
63
分享
相关文章
|
8月前
|
力扣每日一题 6/12 + 随机一题
力扣每日一题 6/12 + 随机一题
48 0
|
8月前
|
C++
【洛谷 P1059】[NOIP2006 普及组] 明明的随机数 题解(集合)
**NOIP2006普及组题目**,明明需生成不重复的1-1000间随机整数,输入含两行:第一行是整数N(≤100),第二行是N个随机数。输出两行,第一行是唯一数的个数M,第二行是排序后的唯一数。示例:输入10个数含重复,输出8个不同数排序后结果。解题方法:利用C++的`set`进行去重和排序。
87 0
|
9月前
leetcode-1207:独一无二的出现次数
leetcode-1207:独一无二的出现次数
40 0
|
9月前
|
六六力扣刷题哈希表之快乐数
六六力扣刷题哈希表之快乐数
59 0
代码随想录Day28 贪心03 LeetCode T1005 K次取反后最大化的数组和 LeetCode T134 加油站 LeetCode T135 分发糖果
代码随想录Day28 贪心03 LeetCode T1005 K次取反后最大化的数组和 LeetCode T134 加油站 LeetCode T135 分发糖果
42 0
LeetCode 1207. 独一无二的出现次数
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
90 0
【力扣·每日一题】748. 最短补全词(C++ 模拟)
【力扣·每日一题】748. 最短补全词(C++ 模拟)
90 0
【力扣·每日一题】748. 最短补全词(C++ 模拟)
leetcode 1207 独一无二的出现次数
leetcode 1207 独一无二的出现次数
60 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等