程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> CSDN 討論的找出缺失數的方法記錄

CSDN 討論的找出缺失數的方法記錄

編輯:關於C語言

【問題】

有一組數字,從1到n,從中減少了3個數,順序也被打亂,放在一個n-3的數組裡


請找出丟失的數字,最好能有程序,最好算法比較快
假設n=10000

【解決】

方法一:

/*有一組數字,從1到n,從中減少了3個數,順序也被打亂,放在一個n-3的數組裡請找出丟失的數字,最好能有程序,最好算法比較快假設n=10000假設存在數組A[N-3]上方法:空間轉時間開一數組int
 B[N+1],並初始化為0,遍歷數組A,如A[i]=250,那麼B[250]=1;直到遍歷完數組A,那麼遺失的數在B[x]=0上,再遍歷一次數組B找到B[x]=0,B[y]=0,B[z]=0.那麼x,y,z即所求效率為n*/

 

<pre name="code" class="cpp">void missnum(int A,int n-3) 
{   
int B[n+1]={0};   
for(int i=0;i<n-3;i++)   
{  
B[A[i]]=1;   
}   
for(int i=1;i<n+1;i++)   
{   
if(B[i]!=1) 
printf("%d",i);//輸出丟失的數   


摘自 我在這裡

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved