我正在修改考试题,并且遇到了我无法解决的问题(10.a)。
由于我无法修改数组,所以我知道例如无法使用Bubble Sort,但是抛出的问题是“不依赖n” ,我唯一能想到的想法最多可以选择array[i]
元素并将其与array[i+j]
进行比较,我理解这是不允许的,因为它取决于n
。
在我们的课程中,我们有几个人在努力寻求解决方案的方法,任何人都可以给我们一个解决方法的想法?
对于第二部分,我们还可以,因为我们已经完成了一些可以解决问题的搜索算法。
答案 0 :(得分:1)
可能仅使用恒定数量的额外空间
这意味着您的算法仅允许使用固定数量的存储单元。但是,这并不意味着您被禁止访问保存输入数组的内存。
请注意,问题是关于常量空间,而不是常量时间。
将每个array[i]
与array[i+j]
进行比较的解决方案是完全可以接受的,因为它仅需要1个额外的存储单元(保存结果)。