位运算之找到重复的数(暴力法)
2019-01-22 本文已影响0人
掌灬纹
题目:1-100 放在大小为101的数组中,
只有一个可重复元素,每个数组元素只能访问一次
请把重复的数找出来。
新建一个数组统计每个元素出现次数,找到次数为2的输出。
public static void main(String[] args) {
final int N = 101;
int[] a = new int[N];
for(int i = 0; i < N-1; i++) {
a[i] = i+1;
}
a[N-1] = (int)(1 + Math.random()*(N-1));
//插入到任意位置
int randomIndex = (int)(Math.random()*N);
int temp = a[N-1];
a[N-1] = a[randomIndex];
a[randomIndex] = temp;
for(int i = 0; i < N; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
int[] b = new int[N];
for(int i = 0; i < a.length; i++) {
b[a[i]]++;//统计每个数出现次数
}
for(int i = 0; i < b.length; i++) {
if(b[i] == 2)
System.out.println(i);
}
}