检测一个数组缺少哪几个数

题目:一个存放了1到N的一个数组中缺少M个数,求出,缺少那几个数,注意,数组中的数据是随机存放的

算法一:2N

int[] s=new int[N-M]{1,3,5,7,9,8,4,6,2,11,10,99,58,65,........};

List l=new arraylist();

for(int i=0;i<N;i++){

  l.add(i);

}

for(int i=0;i<N-M;i++){

 l.remove(s[i]);

}

for(int i=0;i<l.size();i++){

system.out.println(l.get(i));

}

算法二:2N-M

int[] s=new int[N-M]{1,3,5,7,9,8,4,6,2,11,10,99,58,65,........};

int falg[N];

for(int i=0;i<N-M;i++){

 falg[s[i]-1]=1;

}

for(int i=0;i<N;i++){

if(falg[i]==0)

system.out.println(i+1);

}

原文地址:https://www.cnblogs.com/zzj0410/p/5163287.html