arrays - 如何检查数组是否有超过 2 个重复元素
问题描述
我有一个数组说arr[]={8,2,3,6,1,4,5,3,2,2}
我如何才能找到我的数组是否有超过 2 个重复元素,例如这里元素2
重复三次,但它应该只允许它两次(不超过 2 个)。
解决方案
当然你需要计算元素。但是如何 - 取决于元素的性质。
对于小的正数 - 只是计数器阵列。
Counts[a[i]]++
对于任意范围 - 带有值和计数器的映射
if a[i] in map:
map[a[i]]++ //increase key
else
map.add(a[i], 1) //add value with key=1
您也可以对数组进行排序,然后遍历它,计算相等的邻居
count = 1
for i in range(1, len(a))
if a[i] == a[i-1]
count++
check count
else
count = 1
推荐阅读
- flutter - dart 变量不等于它们在对象的构造函数中设置的值
- postgresql - 如何根据 Postgres 中的一个值进行计数?
- laravel - 是否可以通过 Laravel Passport 执行用户身份验证(不是授权)?
- gitlab - Gitlab,如何在不同的机器上配置构建和测试?
- python - 一个数据帧中的一行出现在另一个数据帧中的概率
- javascript - NodeJs 天气应用程序不显示动态数据
- javascript - 将位置从固定更改为相对或相反会导致布局偏移 (CLS)
- c# - 一次增加后台工作人员处理的数量
- python - 有没有一种方法可以在不打开浏览器的情况下自动执行登录操作?
- c# - 以最大并发运行多个操作 - 最后的 2 个任务未执行