一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
1 void Find_Duplicate(int a[],int n){
2
3 unsigned char* bitmap = new unsigned char[n];
4 memset(bitmap,0,n);
5 int count = 0;
6 for(int i=0; i<n; i++){
7 if(a[i]>n || a[i]<0)
8 continue;
9 else if( bitmap[a[i]] != 1)
10 bitmap[a[i]] = 1;
11 else
12 count++;
13 }
14 delete[] bitmap;
15 printf("Duplicate count: %d\n",count);
16 }
posted on 2009-06-02 01:00
iConnect 阅读(158)
评论(0) 编辑 收藏 所属分类:
数学&算法&数据结构