LeetCode.1207-唯一的元素出现次数(Unique Number of Occurrences)

LeetCode --- 1207. Unique Number of Occurrences 解题报告 Given an array of integersarr, returntrueif the number of occurrences of each value in the array isunique, orfalseotherwise. Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation:The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No t... 阅读详情

这是小川的第419次更新,第452篇原创

看题和准备

今天介绍的是LeetCode算法题中Easy级别的第269题(顺位题号是1207)。给定一个整数数组arr,当且仅当该数组中每个元素的出现次数唯一时,返回true。

例如:

输入:arr = [1,2,2,1,1,3]
输出:true
说明:值1出现3次,值2出现2次,值3出现1次。没有两个值出现的次数相同。

输入:arr = [1,2]
输出:false

输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]
输出:true

限制条件:

  • 1 <= arr.length <= 1000
  • -1000 <= arr[i] <= 1000

第一种解法

题目的意思是判断数组中的元素的出现次数是否唯一,我们可以直接使用HashMap和HashSet结合,先遍历arr中的元素,将元素值作为key,出现次数作为value存入HashMap中,再遍历HashMap的所有value,存入HashSet中,如果当前value已经存在,直接返回false。

public boolean uniqueOccurrences(int[] arr) {
    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    for (int num : arr) {
    	map.put(num, map.getOrDefault(num, 0)+1);
    }
    Set<Integer> set = new HashSet<Integer>();
    for (Integer count : map.values()) {
    	if (set.contains(count)) {
    		return false;
    	}
    	set.add(count);
    }
    return true;
}

第二种解法

使用int数组计数。因为题目限定了原始数组的长度和元素值范围,所以我们可以借助计数来解决此问题。

第一次计数,声明一个长度为2001的int数组count,将原始数组的值加上1000后作为新数组索引。第二次计数,同样声明一个长度为2001的int数组count2,如果count中的当前元素不等于0,就将当前元素作为count2数组的索引,元素值累加,加完后判断元素值是否大于等于2,如果大于,直接返回false。

public boolean uniqueOccurrences2(int[] arr) {
    int[] count = new int[2001];
    for (int num : arr) {
    	count[num+1000]++;
    }
    int[] count2 = new int[2001];
    for (int con : count) {
    	if (con != 0) {
    		count2[con]++;
    		if (count2[con] >= 2) {
    			return false;
    		}
    	}
    }
    return true;
}

第三种解法

和上面第二种解法类似,只是将第二步计数的int数组换成了boolean类型,其他思路不变。

public boolean uniqueOccurrences3(int[] arr) {
    int[] count = new int[2001];
    for (int num : arr) {
    	count[num+1000]++;
    }
    boolean[] flag = new boolean[2001];
    for (int con : count) {
    	if (con > 0) {
    		if (flag[con]) {
    			return false;
    		} else {
    			flag[con] = true;
    		}
    	}
    }
    return true;
}

小结

算法专题目前已更新LeetCode算法题文章275+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、在看就是对我最大的回报和支持!

用C#和MQTTnet在WinForm里做个简易物联网监控后台(附完整源码) 本文详细介绍了如何使用C#和MQTTnet库在WinForm中构建一个简易物联网监控后台。通过实战案例,包括环境配置、MQTT服务端实现、客户端监控功能及高级优化技巧,帮助开发者快速搭建高效的物联网监控系统,适用于工业自动化和智能家居场景。 阅读详情

相关推荐

Ubuntu系统下USB无线网卡无法识别的解决方案

Realtek的USB设备可能是无线网卡、有线网卡、读卡器等,系统仅知道“这是Realtek的USB设备”,但不知道“如何将其作为无线网卡驱动”。通过以上步骤,RTL8812AU 芯片的 Edimax 无线网卡应能被 Ubuntu 识别并正常工作。Realtek等品牌的无线网卡可能被系统简单识别为"USB设备",但未匹配到对应的无线驱动,导致设备无法发挥网络功能。是系统识别了USB设备,却未正确加载无线网卡驱动。(前4位是厂商ID,后4位是产品ID),显示设备已识别,但网络管理工具无反应,

极地星辰 3459

LeetCode 力扣 1207. 独一无二的出现次数 uniqueOccurrences 入门集合

大家觉得写还可以,可以点赞、收藏、关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录1207. 独一无二的出现次数????示例 1:示例 2:示例 3:提示:分析提交结果 1207. 独一无二的出现次数???? 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr = [1,2,2,1,1,3] 输出:true

motongxue的博客 383

TESSY创建单元测试或集成测试工程

我们以tessy5.1为例,给大家展示单元测试和集成测试工程的创建过程。

空气中的告白专栏 1681

Educational Codeforces Round 129 F. Unique Occurrences(树上问题)

树上问题 虚树 树形DP 分治 可撤销并查集 LCT

weixin_46155777的博客 432

基于OpenSSL的CA建立及证书签发(签发多域名/IP)

自签SSL证书(多域名/IP) 本文基于以下环境: 内核信息:Linux zabbix 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 系统版本:CentOS Linux release 7.6.1810 (Core) OpenSSL版本:OpenSSL 1.0.2k-fips 26 Jan 2017 【前言】 在基于OpenSSL的CA建立及证书签发一文中(后面统.

hobby云说 4644

【ROS学习笔记】13.ROS中的坐标管理系统

文章目录1 机器人中的坐标变换2 TF功能包TF坐标变换如何实现?TF的一个小案例3 小程序:小海龟跟随实验打开小程序查看当前的TF树坐标相对位置关系可视化1(tf_echo)坐标相对位置关系可视化2(rviz) 本节学习ROS中的坐标管理系统。 (部分图摘自:b站【古月居】古月·ROS入门21讲) 1 机器人中的坐标变换 机器人运动学的核心,描述任意两个坐标系之中任意两个向量之间的变换,可以用一个4×4的变换矩阵(Transformation Matrices)来描述它的平移和旋转变化。 变换矩阵中有包括

takedachia的博客 4338

Educational Codeforces Round 129 (Rated for Div. 2) F. Unique Occurrences

Educational Codeforces Round 129 (Rated for Div. 2) F. Unique Occurrences

qq_40329819的博客 243

2024 年 9 月青少年软编等考 C 语言三级真题解析

2024 年 9 月青少年软编等考 C 语言三级真题解析。

发布少儿编程考级的真题和优秀竞赛题解析,以及一些讲义。 1737

F. Unique Occurrences--Educational Codeforces Round 129 (Rated for Div. 2)

题意 给定一棵树,每条边有权值,f(v,u)f(v,u)f(v,u) 表示vvv 和uuu 路径之间仅出现过一次的权值的数量,计算对于所有的点对,fff 的和。 分析 首先显然要将其转化为边对答案的贡献,考虑对于一个权值的所有边,其将树上的点分成了许多连通块,那么贡献就是相邻连通块的size乘积之和。 做法一: 考虑在DFS的过程中将各个连通块的size处理出来,将每个连通块深度最小的点当作这个连通块的表示点(假设为uuu),那么我们按照DFS序,在其向下DFS时,DFS到合法的各链上的深度最小的点时,就可

zbhruarua的博客 265

华为OD机考双机位C卷 - 采购订单 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 采购订单 。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 426

在 SAP S/4HANA Public Cloud 中,用 RAP 一键生成 PDF 并在 Fiori 前端触发下载的完整方案

create;update;delete;// 生成并返回当前文档上下文。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 408

【LeetCode】 1207. Unique Number of Occurrences 独一无二的出现次数(Easy)(JAVA)

【LeetCode】 1207. Unique Number of Occurrences 独一无二的出现次数(Easy)(JAVA) 题目地址: https://leetcode.com/problems/unique-number-of-occurrences/ 题目描述: Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each

qq_16927853的博客 210

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

LeetCode //C - 1207. Unique Number of Occurrences

【代码】LeetCode //C - 1207. Unique Number of Occurrences。

Made in Code 1196

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

leetcode 1207. Unique Number of Occurrences 解法 Python

一.问题描述 Given an array of integersarr,write a function that returnstrueif and only if the number of occurrences of each value in the array is unique. Example 1: Input: arr = [1,2,2,1,1,3] Ou...

CSerwangjun的博客 931

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LeetCode 1207. 独一无二的出现次数 【Unique Number of Occurrences】

       互联网行业的小白,写博客的目的是为了记录自己的学习过程、对自己学习中所犯的错误做一个总结。由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教! python题解题目描述题解 题目描述 题目传送门:独一无二的出现次数 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr = [1,2,2,.

鸪鹑菌的个人博客 912

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

1207. Unique Number of Occurrences*

1207. Unique Number of Occurrences* https://leetcode.com/problems/unique-number-of-occurrences/ 题目描述 Given an array of integers arr, write a function that returns true if and only if the number of occ...

珍妮的选择的博客 390

leetcode 1207. Unique Number of Occurrences(python)

描述 Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each value in the array is unique. Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurrences, 2 has 2 and

王大呀呀的博客 327

1207. Unique Number of Occurrences

1207. Unique Number of Occurrences

weixin_45428910的博客 628

Leetcode 1207.独一无二的出现次数(Unique Number of Occurrences)

Leetcode 1207.独一无二的出现次数 1 题目描述(Leetcode题目链接)   给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同...

qq_39378221的博客 227

leetcode 1207. Unique Number of Occurrences

题目 用map存储每个值和数量的对应关系,再用set存储数量,最终看map和set的size是否一样。 class Solution { public boolean uniqueOccurrences(int[] arr) { HashMap<Integer,Integer> map = new HashMap<>(); for(i...

xiaobailaji的博客 207

LeetCode - 1207 - 独一无二的出现次数(unique-number-of-occurrences)

一 目录 不折腾的前端,和咸鱼有什么区别目录一 目录二 前言三 解题及测试四 LeetCode Submit五 解题思路六 进一步思考二 前言 难度:简...

weixin_41806099的博客 368

【leetcode】1207. 独一无二的出现次数(unique-number-of-occurrences)(模拟)[简单]

链接 https://leetcode-cn.com/problems/unique-number-of-occurrences/ 耗时 解题:22 min 题解:4 min 题意 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 思路 两个哈希表,一个用来离散统计出现次数,第二个测试出现次数是否独一无二。 时间复杂度:O(n)O(n)O(n) AC代码 class Solution { public: bo

Krone_的博客 398

LeetCode C++ 1207. Unique Number of Occurrences【Hash Table】简单

Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each value in the array is unique. Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 h

memcpy0的博客 412

[leetcode] 1207. Unique Number of Occurrences

Description Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each value in the array is unique. Example 1: Input: arr = [1,2,2,1,1,3] Output: true Explanation: The value 1 has 3 occurrences, 2 h

Learning from the mistakes 249

leetcode 1207. Unique Number of Occurrences(出现次数的唯一性)

leetcode 1207

蓝羽飞鸟的博客 404
上一篇: LeetCode.1200-最小绝对值差(Minimum Absolute Difference)
下一篇: LeetCode.1217-交换芯片(Play with Chips)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值