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 }
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 閱讀(164) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)學(xué)&算法&數(shù)據(jù)結(jié)構(gòu)