美文网首页奇妙的位运算
位运算之找到重复的数(暴力法)

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

作者: 掌灬纹 | 来源:发表于2019-01-22 18:30 被阅读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);

    }

    }

    相关文章

      网友评论

        本文标题:位运算之找到重复的数(暴力法)

        本文链接:https://www.haomeiwen.com/subject/ryerjqtx.html