已知一個數組int[98],該數組裡面儲存了0~99共100個數字中的98個,數字不重複,請用演算法算出0~99中缺少的2個數字是哪兩個?
阿新 • • 發佈:2019-01-26
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);
}
}
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);
}
}