开发者社区> 问答> 正文

在时间O(n)中找到数组中的重复元素

在工作面试中有人问我这个问题,我一直在想正确的答案。

您有一个从0到n-1的数字数组,其中一个数字被删除,并替换为数组中已有的一个数字,该数字与该数字重复。我们如何才能在时间O(n)中检测到此重复项?

例如,的数组1,2,3,4将变为1,2,2,4。

时间O(n 2)的简单解决方案是使用嵌套循环查找每个元素的重复项。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 13:09:29 461 0
1 条回答
写回答
取消 提交回答
  • 我们也有原始数组int A[N];创建另一个第二个数组bool B[N],类型为bool=false。迭代第一个数组并设置B[A[i]]=true是否为false,否则为bing!

    2020-02-09 13:09:52
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载