首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找数组中的重复元素

查找数组中的重复元素
EN

Stack Overflow用户
提问于 2011-02-09 05:49:48
回答 7查看 2.2K关注 0票数 0

考虑正数的INT数组:

代码语言:javascript
复制
    {1,3,6,4,7,6,9,2,6,6,6,6,8}

给定:只有一个数字重复,用高效算法返回数字和位置。

对高效的算法有什么想法吗?

EN

回答 7

Stack Overflow用户

发布于 2011-02-09 05:54:36

一种可能的解决方案是维护外部散列映射。迭代数组,并将找到的值的索引放入散列映射中。完成后,您现在知道哪个数字是重复的,以及找到它的位置的索引。

票数 4
EN

Stack Overflow用户

发布于 2011-02-13 03:46:06

在面试的情况下,我想你有机会围绕这个问题提问,例如,有多少个数字?数字的范围是多少?您可以声明,最佳算法可能会根据不同而变化。

这给了你一个展示如何解决问题的机会。

如果数组中整数的范围足够小,那么可以创建另一个数组来记录找到每个整数的次数,然后线性遍历数组,累积出现次数,当出现次数为2时停止。

票数 1
EN

Stack Overflow用户

发布于 2011-02-09 05:52:49

Hash在这里会做得很好。一个接一个地添加数字,每次检查数字是否已经存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4938882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档