思路: 范围[0,999]中整数的个数是1000个,则若输入1000个数,那么在0~999这个范围中,998个数只存在一个,有一个数存在两个,一个数不存在
import java.util.Scanner;
/**
* 1000个数范围是【0,999】,有两个相同的数,请设计算法找出来
*
* @author hf
*
*/
public class Blogs3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入1000个数");
int[] arr = new int[1000];// 储存1000个数据的数组
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
int[] brr = new int[1000];// 计算每一个数据的个数的数组
// 遍历arr数组,将数据对应的个数+1
for (int i : arr) {
brr[i]++;
}
// 其中只有一个数据有两个,则找数组中等于2的就是重复的
for (int i = 0; i < brr.length; i++) {
if (brr[i] == 2) {
System.out.println(i);
break;
}
}
scanner.close();
}
}