1207.独一无二的出现次数
🎆 1207.独一无二的出现次数
给你一个整数数组 arr
,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true
;否则返回 false
。
注意是元素出现的次数独一无二,而不是元素独一无二
思路
基本思想
为了了解每个元素的出现次数是否唯一,首先肯定需要先统计出元素的出现次数,之后在判断元素的次数是否唯一,所以可以分成两步:
- 统计元素的出现次数,为了将元素与其出现的次数对应,所以需要使用一个
unordered_map
来统计元素出现的次数 - 判断元素出现的次数是否唯一,为了判断出现次数是否唯一,需要一个可以快速查询容器中元素是否存在的容器,所以使用
unordered_set
来判断次数是否唯一
执行流程
- 统计元素出现的次数
- 将所有出现的次数遍历一遍
- 如果在容器中已经找到了相同的出现次数,返回false
- 如果没找到相同的出现次数,此时将这个出现次数记录
- 继续遍历,直到遍历结束
代码
根据以上分析,得出以下代码:
|
|
总结
主要是统计+判断,使用unordered_set
来判断元素出现的次数是否唯一