在一个只有两个数相同的数组当中,找出相同的那个数,并通过Java实现

思路: 范围[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();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_45481524/article/details/106904934