奇妙的位运算

位运算之找到重复的数(暴力法)

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);

}

}

上一篇下一篇

猜你喜欢

热点阅读