【发布时间】:2010-03-08 15:12:50
【问题描述】:
[描述] 给定两个长度相同的整数数组。设计一个算法来判断它们是否相同。 “相同”的定义是,如果这两个数组按排序顺序排列,则对应位置的元素应该相同。
[Example]
<1 2 3 4> = <3 1 2 4>
<1 2 3 4> != <3 4 1 1>
[限制]该算法需要恒定的额外空间,以及O(n)的运行时间。
【问题讨论】:
-
已标记为面试问题。
-
嗯...也许想骗你,因为显而易见的方法 是 O(1) 空间和 O(n) 时间... 哪里有问题?
-
@mjv:如果你有 O(n) 的解决方案,请告诉。
-
这些数组是只读的,还是我们可以更改它们?
-
这个问题完全取决于整数是否有界......如果整数在两边都有界,则计算出现次数的数组具有恒定的空间要求。如果不是,那么问题很可能无法解决。