下面是我自己想出来的算法,可能有点麻烦,但我感觉很好理解。希望大神多多指教
代码:
package com.gao.lei;
import java.util.Random;
public class JavaExploit {
public static void main(String[] args) {
int x[] =new int[2];//保存没存入的两个数
int y[]=new int[100];//保存1-100
int z[]=new int[99];//保存淘汰掉第一个没插进来的数组
int m[]=new int[98];//保存淘汰掉2个数组
int count=0;
int ou=0;
for(int i=0;i<100;i++){
y[i]=i+1;
}
System.out.print("原来的数组为");
for(int i=0;i<100;i++){
System.out.print(y[i]+" ");
}
System.out.println();
x[0]=sum();
x[1]=sum();
if(x[0]==x[1]){
x[0]=sum();
x[1]=sum();
}
for(int i=0;i<100;i++){
if(y[i]!=x[0]){
z[count]=y[i];
count++;
}
}
for(int i=0;i<99;i++){
if(z[i]!=x[1]){
m[ou]=z[i];
ou++;
}
}
System.out.print("新数组为");
for( int e=0;e<m.length;e++){
System.out.print(m[e]+" ");
}
System.out.println();
System.out.println("没存入的数据为"+x[0]+" "+x[1]);
}
public static int sum(){
Random s=new Random();
int x=s.nextInt(100)+1;
return x;
}
}