【发布时间】:2011-02-04 06:09:09
【问题描述】:
看到一个面试题如下:
数组中有一个数重复。找到它
简单的解决方法如下:
for(int i=0;i<n;i++){
{
dup = false;
for(j=0;j<n;j++){
if(i!=j && a[i]= a[j]){
dup = true;
}
if(dup == true)
return a[i]
}
}
但我想在 O(n log(n)) 和 O(n) 时间内实现它。我该怎么做?
【问题讨论】:
-
您是用 C++ 还是 Java 编程?如果您的问题与语言无关,请删除特定于语言的标签。