吃饭去,你们继续,我下午来看最好的algorithm
{
int i = 0;
int num = 0;
int *count =(int*)malloc(N*sizeof(int));
memset(count,0,N*sizeof(int));
for(i=0;i<N;i++)
{
if(2==(++count[a[i]]))
{
num=a[i];
break;
}
}
free(count);
return num;
}
高人写的据说不错!
下面有一个短写法:
int do_dup(int a[],int N)
{
int n=0;
for( int i=0;i<N;n+=a[i]-i++ );
return n;
}
在vc6下,更可以写成:
int do_dup(int a[],int N)
{
for( int i=0, int n=0;i<N;n+=a[i]-i++ );
return n;
}
注:我只负责贴出给大家看看,交流学习
[此贴子已经被作者于2007-8-23 12:15:00编辑过]