小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

1-1000放在含有1001個(gè)元素的數(shù)組中,只有唯一的一個(gè)元素值重復(fù),其它均只出現(xiàn)一次

 liema2000 2008-07-24

1-1000放在含有1001個(gè)元素的數(shù)組中,只有唯一的一個(gè)元素值重復(fù),其它均只出現(xiàn)
一次。每個(gè)數(shù)組元素只能訪問(wèn)一次,設(shè)計(jì)一個(gè)算法,將它找出來(lái);不用輔助存儲(chǔ)空
間,能否設(shè)計(jì)一個(gè)算法實(shí)現(xiàn)?
1001個(gè)元素相加減去1,2,3,……1000數(shù)列的和,得到的差即為重復(fù)的元素。
  int   Find(int   *   a)  
  {  
  int   i;//
變量  
  for   (i   =   0   ;i<=1000;i++)  
  {  
  a[1000]   +=   a[i];  
  }  
  a[1000]   -=   (i*(i-1))/2       //i
的值為1001  
  return   a[1000];  
  }
利用下標(biāo)與單元中所存儲(chǔ)的內(nèi)容之間的特殊關(guān)系,進(jìn)行遍歷訪問(wèn)單元,一旦訪問(wèn)過(guò)的單
元賦予一個(gè)標(biāo)記,利用標(biāo)記作為發(fā)現(xiàn)重復(fù)數(shù)字的關(guān)鍵。代碼如下:
void FindRepeat(int array[], int length)
{
    int index=array[length-1]-1;
    while ( true )
    {
       if ( array[index]<0 )
           break;
       array[index]*=-1;
       index=array[index]*(-1)-1;
    }
 
    cout<<"The repeat number is "<<index+1<<endl;
}
此種方法不非常的不錯(cuò),而且它具有可擴(kuò)展性。在壇子上有人提出:
對(duì)于一個(gè)既定的自然數(shù) N ,有一個(gè) N + M 個(gè)元素的數(shù)組,其中存放了小于等于 N 的所有
自然數(shù),求重復(fù)出現(xiàn)的自然數(shù)序列{X} 。
 
對(duì)于這個(gè)擴(kuò)展需要,自己在A_B_C_ABC(黃瓜兒才起蒂蒂)的算法的基礎(chǔ)上得到了自己的算法
代碼:
按照A_B_C_ABC(黃瓜兒才起蒂蒂)的算法,易經(jīng)標(biāo)記過(guò)的單元在后面一定不會(huì)再訪問(wèn)到,除非它是重復(fù)的數(shù)字,也就是說(shuō)只要每次將重復(fù)數(shù)字中的一個(gè)改為靠近N+M的自然數(shù),讓遍歷能訪問(wèn)到數(shù)組后面的單元,就能將整個(gè)數(shù)組遍歷完。
代碼:
*/
void FindRepeat(int array[], int length, int num)
{
 int index=array[length-1]-1;
 cout<<"The repeat number is ";
 while ( true )
 {
 if ( array[index]<0 )
 {
   num--;
   array[index]=length-num;
   cout<<index+1<<‘t‘;
 }
 
 if ( num==0 )
 {
   cout<<endl;
  return;
 }
 array[index]*=-1;
 index=array[index]*(-1)-1;
 }
}
 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多