首页 > 其他分享 >【力扣每日一题】1207. 独一无二的出现次数

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

时间:2023-05-24 15:04:59浏览次数:40  
标签:arr Dictionary int 1207 独一无二 value dic 力扣 dis


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

1. 题目描述

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

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;

        }


标签:arr,Dictionary,int,1207,独一无二,value,dic,力扣,dis
From: https://blog.51cto.com/u_16127529/6340839

相关文章

  • 【力扣每日一题】144. 二叉树的前序遍历
    1.题目描述2.题目解析非常典型的一道二叉树题目思路一:递归求解思路二:迭代求解3.题目代码3.1递归**publicIList<int>PreorderTraversal(TreeNoderoot){List<int>list=newList<int>();Tree(root,list);returnlist;......
  • 力扣 647. 回文子串
    647.回文子串给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示......
  • 力扣2. 两数相加
    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0 开头。 示例1:输入:l1=[2,4,3],l2=[5,6......
  • 力扣---1161. 最大层内元素和
    给你一个二叉树的根节点 root。设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。请返回层内元素之和最大的那几层(可能只有一层)的层号,并返回其中 最小的那个。 示例1:输入:root=[1,7,0,7,-8,null,null]输出:2解释:第1层各元素之和为1,第2层各元素......
  • 力扣---1080. 根到叶路径上的不足节点
    给你二叉树的根节点root和一个整数limit,请你同时删除树中所有不足节点,并返回最终二叉树的根节点。假如通过节点node的每种可能的“根-叶”路径上值的总和全都小于给定的limit,则该节点被称之为不足节点,需要被删除。叶子节点,就是没有子节点的节点。 示例1:输入:r......
  • 力扣---236. 二叉树的最近公共祖先
    给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例1:输入:root=[3,5,1,6,2,0,8,null,n......
  • 力扣---1372. 二叉树中的最长交错路径
    给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下:选择二叉树中任意 节点和一个方向(左或者右)。如果前进方向为右,那么移动到当前节点的的右子节点,否则移动到它的左子节点。改变前进方向:左变右或者右变左。重复第二步和第三步,直到你在树中无法继续移动。交错路径的长度......
  • leetcode-1207-easy
    UniqueNumberofOccurencesGivenanarrayofintegersarr,returntrueifthenumberofoccurrencesofeachvalueinthearrayisuniqueorfalseotherwise.Example1:Input:arr=[1,2,2,1,1,3]Output:trueExplanation:Thevalue1has3occurrences,......
  • 力扣 72. 编辑距离
    72.编辑距离给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数  。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(将'h'......
  • 力扣---1448. 统计二叉树中好节点的数目
    给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。「好节点」X定义为:从根到该节点X所经过的节点中,没有任何节点的值大于X的值。 示例1:输入:root=[3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点(3)永远是个好节点。节点4->(3,4)是路径中......