【LeetCode】1207. 独一无二的出现次数
1207. 独一无二的出现次数
知识点:set;哈希表
题目描述
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。。
示例
输入: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
解法一:哈希表+set
出现次数 --> 哈希表;
独一无二 --> set;
class Solution {
    public boolean uniqueOccurrences(int[] arr) {
        Map<Integer, Integer> map = new HashMap<>();
        for(Integer i : arr){
            map.put(i, map.getOrDefault(i, 0)+1);
        }
        Set<Integer> set = new HashSet<>();
        for(Integer i : map.keySet()){
            if(set.contains(map.get(i))) return false;
            else set.add(map.get(i));
        }
        return true;
    }
}
时间复杂度
体会
出现什么统计字符或者数字出现的次数,用哈希表;
出现什么唯一,独一无二,有无重复,用set的不可重复性;
统计次数 --> 哈希表;
独一无二 --> set;
【LeetCode】1207. 独一无二的出现次数的更多相关文章
- LeetCode:最少移动次数使得数组元素相等||【462】
		LeetCode:最少移动次数使得数组元素相等||[462] 题目描述 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最 ... 
- LeetCode#453 最小移动次数使数组元素相等
		给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [,,] 输出: 解释: 只需要3次移动(注意每次移动会增加两个 ... 
- LeetCode 453. 最小移动次数使数组元素相等(Minimum Moves to Equal Array Elements) 47
		453. 最小移动次数使数组元素相等 453. Minimum Moves to Equal Array Elements 题目描述 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移 ... 
- LeetCode 871 - 最低加油次数 - [贪心+优先队列]
		汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 s ... 
- [Leetcode]找到出现不同次数的数字(通用解法)
		今天在leetcode上遇到了 137. Single Number II 这道题: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素.(Give ... 
- Leetcode 462.最少移动次数使数组元素相等
		最少移动次数使数组元素相等 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输入: [1,2, ... 
- LeetCode.933-最近通话次数(Number of Recent Calls)
		这是悦乐书的第357次更新,第384篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第219题(顺位题号是933).写一个类RecentCounter来计算最近的请求. 它 ... 
- Java实现 LeetCode 462 最少移动次数使数组元素相等 II
		462. 最少移动次数使数组元素相等 II 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输 ... 
- Java实现 LeetCode 453 最小移动次数使数组元素相等
		453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 ... 
随机推荐
- Mask R-CNN用于目标检测和分割代码实现
			Mask R-CNN用于目标检测和分割代码实现 Mask R-CNN for object detection and instance segmentation on Keras and Tenso ... 
- Nucleus 实时操作系统中断(下)
			Nucleus 实时操作系统中断(下) Nucleus RTOS兼容性 由于中断在Nucleus SE中的实现方式与Nucleus rto截然不同,因此不应期望有特定的兼容性.Nucleus RTOS ... 
- 『动善时』JMeter基础 — 43、JMeter对数据库的查询操作
			目录 1.使用"用户自定义变量"实现参数化 2. 在SQL Query中使用占位符传递参数 (1)传递的参数值是常量 (2)传递的参数值是变量 3.Variables names参 ... 
- 安全Web服务器
			https协议: 443 端口 虚拟Server0: 1.部署 网站证书(营业执照)# cd /etc/pki/tls/certs/ # wget http://classroom.example.c ... 
- 【NX二次开发】Block UI   微定位
			属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ... 
- 【UG二次开发】获取对象类型 UF_OBJ_ask_type_and_subtype
			代码: int type=0, subtype=0; UF_OBJ_ask_type_and_subtype(objTag, &type, &subtype); 
- 会点自动化就要25k?   现在年轻人这么浮躁吗
			面试中一问元素定位就对答如流.一问实际项目框架如何搭建就避重就轻.含糊其辞,这样的自动化实战能力也能拿25K?静待下文: 一.为什么现在自动化测试工资那么高呢? 结合现在的职场环境与企业用人需求,自动 ... 
- STL----vector注意事项
			开vector时要注意内存容易炸 最好的办法就是在开vector之后,对他进行一步操作 vector<int> a; a.resize(n); n就是你要开的数组的大小,此时数组里已经插入 ... 
- Netty 框架学习 —— 基于 Netty 的 HTTP/HTTPS 应用程序
			通过 SSL/TLS 保护应用程序 SSL 和 TLS 安全协议层叠在其他协议之上,用以实现数据安全.为了支持 SSL/TLS,Java 提供了 javax.net.ssl 包,它的 SSLConte ... 
- NUC980 运行 RT-Thread 时使用 GPIO
			如何使用 GPIO? NuMaker-RTU-NUC980 板子引出的 IO 有: 分别有一个 I2C1.GPIO.SPI0.UART4,RT-Thread 中 NuMaker-RTU-NUC980 ... 
