数组a[N],存放了N个数,其中某个数重复一次。
写一个函数,找出被重复的数字.时间复杂度必须为o(N)
#include<iostream>
#include<map>using namespace std;
int find(int a[],int N);
int main(void)
{
int a[]={1,2,3,4,2,5};
int result=find(a,sizeof(a)/sizeof(int));
cout<<result<<endl;
return(0);
}
int find(int a[],int N)
{
map<int,int> imap;
for (int i=0;i<N;i++)
{
imap[a[i]]++;
if (imap[a[i]]==2)
{
return a[i];
}
}
}