我知道类似的问题可能会被问很多次,但它与那些不同。
给定一个未排序的整数数组,其中1 to N-1
包含一个重复元素(N
是数组的大小,最大值是N-1
由于重复元素)。找到重复元素的最佳方法是什么?如果可能的O(log n)
话。`
我知道O(n)
解决方案,但有什么办法可以及时解决这个问题O(log n)
吗?
O(n) 解决方案:
1) Find sum of first N-1 natural numbers using N(N-1)/2, lets say it SUM1
2) Find sum of all the elements of the arrays, let say it SUM2
Duplicate = SUM2 - SUM1