如何使用常量空间在无序数组中查找重复元素

时间:2019-05-26 14:44:37

标签: arrays algorithm search duplicates

我正在修改考试题,并且遇到了我无法解决的问题(10.a)。

由于我无法修改数组,所以我知道例如无法使用Bubble Sort,但是抛出的问题是“不依赖n” ,我唯一能想到的想法最多可以选择array[i]元素并将其与array[i+j]进行比较,我理解这是不允许的,因为它取决于n

在我们的课程中,我们有几个人在努力寻求解决方案的方法,任何人都可以给我们一个解决方法的想法?

对于第二部分,我们还可以,因为我们已经完成了一些可以解决问题的搜索算法。

enter image description here

1 个答案:

答案 0 :(得分:1)

  

可能仅使用恒定数量的额外空间

这意味着您的算法仅允许使用固定数量的存储单元。但是,这并不意味着您被禁止访问保存输入数组的内存。

请注意,问题是关于常量空间,而不是常量时间

将每个array[i]array[i+j]进行比较的解决方案是完全可以接受的,因为它仅需要1个额外的存储单元(保存结果)。