1. 程式人生 > >已知一個數組int[98],該數組裡面儲存了0~99共100個數字中的98個,數字不重複,請用演算法算出0~99中缺少的2個數字是哪兩個?

已知一個數組int[98],該數組裡面儲存了0~99共100個數字中的98個,數字不重複,請用演算法算出0~99中缺少的2個數字是哪兩個?

public class Test24 {


public static void main(String[] args) {
int[] num=in();//生成陣列
noNumber(num);//判斷不同的數

}



public static int[] in()
{
     int[] array = new int[98];//100
     Random r = new Random();
     array[0] = 0;
     for(int i =0;i<98;i++){
       array[i] = r.nextInt(100);//隨機0到99一共100個數存入
       for(int j=0;j<i;j++){
          if(array[i] == array[j])//比較是否有相同的
          {
             i--;
             break;
          }
       }
     }
    
     return array;
}
public static void noNumber(int[] in)
{
ArrayList<Integer> list = new ArrayList<Integer>();

for(int x=0;x<100;x++)
{
list.add(x);
}
ArrayList<Integer> list1 = new ArrayList<Integer>();
for(int x=0;x<98;x++)
{
list1.add(in[x]);
}
list.removeAll(list1);
System.out.println("陣列內數為:"+list1);
System.out.println("缺少的數是:"+list);
}
}