1207. 独一无二的出现次数

PCIe Gen4 Switch芯片PM40028调试踩坑实录:从boot引脚设置到串口无输出的诡异问题 本文记录了PCIe Gen4 Switch芯片PM40028的实战调试过程,重点剖析了从boot引脚配置错误导致串口无输出,到使用逻辑分析仪定位并解决启动问题的完整排障思路。文章深入探讨了芯片启动流程、硬件信号测量方法,并总结了高速硬件调试的核心经验与系统性排查清单,为工程师解决类似PCIe Gen4设备调试难题提供实用指南。 阅读详情

地址:

力扣icon-default.png?t=M276https://leetcode-cn.com/problems/unique-number-of-occurrences/

题目:

给你一个整数数组 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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-number-of-occurrences
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:

首先想到了计数数组,这样可以统计每个数字出现的次数,然后依据次数进行排序,如果次数不相等,那么就不会出现连续的数字

另外一种方式是采用 hash map来实现统计数字出现次数,然后再统计“次数”的次数

方法一、计数数组

int cmp(const void *a, const void *b)
{
	return *(int *)a - *(int *)b;
}

bool uniqueOccurrences(int* arr, int arrSize){
	int cntArr[2001]={0};
	bool ret = true;
	int i;
	for(i=0; i<arrSize; i++)
	{
		int idx = arr[i];
		if(idx < 0)
		{
			idx = 0 - idx;
			cntArr[idx]++;
		}
		else if(idx == 0)
			cntArr[idx]++;
		else
		{
			idx += 1000;
			cntArr[idx]++;
		}
	}
	
	qsort(cntArr, 2001, sizeof(int), cmp);
	
	int tmp = 0;
	for(i=0; i<2001; i++)
	{
		if(cntArr[i] != 0)
		{
			if(tmp == cntArr[i])
			{
				ret = false;
				break;
			}
			
			tmp = cntArr[i];
			
		}
	}
	
	
	return ret;
}

方法二、hash map

直接套用官网写法,因为 C 不提供 hash map 高级数据结构,但是目前有 uthash 帮我们完成了这个,关于这部分后续会开帖子介绍

struct unordered_set {
    int key;
    UT_hash_handle hh;
};

struct unordered_map {
    int key;
    int val;
    UT_hash_handle hh;
};

bool uniqueOccurrences(int* arr, int arrSize) {
    struct unordered_map* occur = NULL;
    for (int i = 0; i < arrSize; i++) {
        struct unordered_map* tmp = NULL;
        HASH_FIND_INT(occur, &arr[i], tmp);
        if (tmp == NULL) {
            tmp = malloc(sizeof(struct unordered_map));
            tmp->key = arr[i], tmp->val = 1;
            HASH_ADD_INT(occur, key, tmp);
        } else {
            (tmp->val)++;
        }
    }
    struct unordered_set* times = NULL;
    struct unordered_map *cur, *cur_tmp;
    HASH_ITER(hh, occur, cur, cur_tmp) {
        struct unordered_set* tmp = NULL;
        HASH_FIND_INT(times, &(cur->val), tmp);
        if (tmp == NULL) {
            tmp = malloc(sizeof(struct unordered_set));
            tmp->key = cur->val;
            HASH_ADD_INT(times, key, tmp);
        }
    }
    return HASH_COUNT(occur) == HASH_COUNT(times);
}

查看更多刷题笔记

实战封神!YOLOv7 轻量化部署全攻略:ONNX格式转换+TensorRT极致加速(速度直接提升3-5倍,精度无损) 部署核心链路,这是YOLO系列部署的最优解,速度提升3~5倍,精度无损;ONNX是桥梁:解决模型兼容性问题,简化后能去掉冗余节点,是TensorRT加速的前提;TensorRT是核心:NVIDIA显卡的极致加速引擎,FP16量化是速度与精度的最优平衡,无需手动配置,一键开启;轻量化终极组合YOLOv7-tiny + 416尺寸 + TensorRT FP16,速度提升5~8倍,满足所有实时检测场景;避坑核心:转换参数必加,推理尺寸必须一致,engine文件显卡专属。 阅读详情

相关推荐

使用 ANSYS AEDT(双向耦合)对高功率射频同轴滤波器进行热分析

使用 ANSYS HFSS,可以精确计算 EM 损耗,然后将其导入 ANSYS 热分析并使用 ANSYS Icepak CFD 求解器进行仿真,以帮助工程师解决最复杂的热挑战,并预测其设计在温度变化下的表现。然后,RF 损耗将与 ANSYS Icepak CFD 求解器耦合,以执行热分析,包括传热的传导、对流和辐射模式,并计算温度曲线。在此演示中,我们将仿真下面的 RF 同轴滤波器,并计算由于所用材料的有限电导率和介电损耗而导致的 RF 传导损耗。设置 HFSS 设计后,我们可以开始 HFSS 仿真。

jkh920184196的博客 1050

L75-21(Leetcode1207独一无二的出现次数)

【代码】L75-21(Leetcode1207独一无二的出现次数)

小番茄没有酱的csdn 158

玩转openclaw+企业微信

OpenClaw横空出世:AI从问答到执行的范式革命 OpenClaw作为2026年AI领域的重大突破,实现了从对话机器人到智能执行体的进化。其核心价值在于"自主执行"而非简单交互,通过六层解耦架构(表现层、网关层、运行时层、技能层、工具层、记忆层)构建完整执行闭环。关键技术包括Model Context Protocol实现多模型兼容,以及事件驱动架构确保实时响应。安装过程支持多平台,通过Node.js环境即可快速部署,并支持对接主流大模型。OpenClaw标志着AI开始真正&quot

西木风落 1591

力扣题目:独一无二的出现次数

根据题目要求,可以使用哈希表来统计每个数字出现的次数,然后利用set集合的特性(不能添加重复的元素)来判断是否出现重复次数。

孤舟一叶~的博客 363

山东大学软件学院计算机组成原理课程设计实验二

文章目录一、实验时间二、实验内容1.设计异步模16加1计数器2.设计4位移位器3.超前进位16位ALU的设计 一、实验时间 2021年4月1日星期四,第五周 二、实验内容 1.设计异步模16加1计数器 基本功能:使用D触发器(dff元件)和异或门构建从0开始计数的模16加1计数器 对应的电路图(这里已经实现了预置初值的功能) 拓展功能: (1)实现模256加1计数器 (2)实现计数器预置初值的功能 这里复用了上面的模16加1计数器 这里异步触发器预置初值的功能是这样实现的: (1)首先将CLR端调为0,

叶卡捷琳堡的博客 5248

ffmpeg在windows的安装、合并、切片、.m4s、.m3u8处理

自己处理视频,我用的工具是 ffmpeg,因为涉及到.m3u8格式和.m4s格式的一些操作。ffmpeg的介绍我就不多说了,这里是它的官网地址: https://ffmpeg.org/ ,这里是文档: https://ffmpeg.org/documentation.html (看的头大,没咋看下去)...

一只爱吃糖的小羊 2689

LeetCode # 1207. 独一无二的出现次数

1207. 独一无二的出现次数,给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。

hey_wei_ran的博客 469

Excel转LaTeX表格神器:excel2latex.xla插件使用全攻略(含下载链接与配置教程)

本文详细介绍了Excel转LaTeX表格神器excel2latex.xla插件的完整使用攻略。从下载安装、基础转换到高级配置,深入讲解了如何利用该插件高效生成LaTeX代码,特别针对IEEE双栏等复杂排版需求提供了专业解决方案,帮助用户彻底告别手动编码,提升学术与专业文档的排版效率。

app77的博客 295

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

题干 给你一个整数数组 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 <=

qq_43491066的博客 355

27930-2015+充电协议解析

对2015+充电与2015充电进行硬件电路对比、通信协议对比和2015+通信协议解析。

manjixingkong1234的专栏 232

华为od 面试八股文_C++_04_含答案

华为od 面试八股文_C++_04_含答案

MISAYAONE的博客 2472

力扣 1207. 独一无二的出现次数 C++

给你一个整数数组 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 <=

ganlanA的博客 378

会话管理技巧——如何优化OpenClaw的上下文理解能力(2026进阶版)

本文深入探讨了OpenClaw系统的会话管理技术,重点介绍了会话定义、生命周期管理和上下文优化策略。会话管理包含会话ID、用户信息、状态等核心要素,以及创建、维护、终止和恢复四个生命周期阶段。上下文管理通过ContextManager类实现,支持创建、更新、消息添加和变量管理等功能,并采用历史记录机制确保会话连续性。ContextOptimizer类则负责应用优化规则,通过消息和变量压缩等技术提升系统性能。这些技术共同构建了OpenClaw强大的会话管理能力,为AI助手提供了高质量的交互体验基础。

博客 490

力扣1207. 独一无二的出现次数(哈希)

力扣1207. 独一无二的出现次数(哈希) 给你一个整数数组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,1..

小麦China的博客 209

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

每日一题Leetcode1207 独一无二的出现次数

Leetcode1207 独一无二的出现次数 题目描述: 给你一个整数数组 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

痒羊羊 374

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

leetcode 1207.独一无二的出现次数

leetcode 1207.独一无二的出现次数 题干 给你一个整数数组 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

玛软的垃圾桶 190

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

1207. 独一无二的出现次数【哈希】

如果每个数的出现次数都是独一无二的,就返回。

YouMing_Li的博客 612

LeetCode 每日一题 1207.独一无二的出现次数

10.28 LeetCode 每日一题 1207.独一无二的出现次数 思路: 先统计出每个数出现的次数,然后储存进HashMap中,最后出去HashMap中的每一个value,此时需要判断value是否有相同的,有相同的则返回false,反之返回true。这一步可以利用Set集合元素的唯一性,如果重复往Set中添加重复的值,则会储存失败,返回false。下面直接给出代码 class Solution { public boolean uniqueOccurrences(int[] arr) {

JavaBoy 246

LeetCode 1207. 独一无二的出现次数

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

???的博客 95

Leetcode 1207. 独一无二的出现次数

1207. 独一无二的出现次数 解题思路 对数组排序,用双指针记录每个元素出现的次数,存入容器 对容器排序,比较两两元素是否相等 C++代码 class Solution { public: bool uniqueOccurrences(vector<int>& arr) { if (arr.size() < 2) return true; sort(begin(arr), end(arr)); vector.

浪矢五金店 152

leetcode:1207. 独一无二的出现次数

题目来源 leetcode 题目描述 题目解析 利用Java 8特性求解 public static boolean uniqueOccurrences(int[] arr) { //1 <= arr.length <= 1000 Map<Integer, Integer> map = new HashMap<>(); for (int value : arr){ map.merge(val

OceanStar的博客 279

leetcode 1207. 独一无二的出现次数

解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。再遍历出现次数 的哈希表,将次数作为key,判断是否有相同次数的数字,如果有返回false否则返回true。用一个循环遍历数组中数字,记录出现的次数到哈希表,key为数字value为次数。否则返回 false。输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]维护两个哈希表,一个统计次数,一个判断是否有出现相同次数的数字。输入:arr = [1,2,2,1,1,3]时间复杂度(O(n))空间复杂度(O(n))

dengjiayue的博客 298

LeetCode刷题:独一无二的出现次数(No.1207) Java语言

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

ZhaZha__Hui的博客 339

leetcode-1207:独一无二的出现次数

如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。

菊头蝙蝠的博客 319
上一篇: 2149. 按符号重排数组
下一篇: C语言的hashmap
mrbone9
博客等级 码龄18年 1811粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值