当前位置:   article > 正文

找到数组中出现奇数次的数_把一个数组里重复次数为奇数的元素筛选出来js

把一个数组里重复次数为奇数的元素筛选出来js

只有一个出现奇数次的整数

//找到数组中出现奇数次数的数字(仅有一个)
    public static int oneOdd(int[] arr) {

        if (arr == null || arr.length < 0) {
            return 0;
        }
        int eor = 0;
        for (int cur : arr) {
            eor ^= cur;
        }
        return eor;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

有两个数出现奇数次

//找到数组中出现奇数次数的数字(仅有两个)
    public static void twoOdd(int[] arr) {
        if (arr == null || arr.length < 0) {
            return;
        }
        int eor = 0;
        for (int cur : arr) {
            eor ^= cur;
        }
        int eorT = eor & (~eor + 1);//提取eor的最右侧的一
        int onlyOne = 0;
        for (int cur : arr) {
            if ((eorT & cur) == 0)
                onlyOne ^= cur;
        }
        System.out.println(onlyOne + "," + (eor ^ onlyOne));
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/602441
推荐阅读
相关标签
  

闽ICP备14008679号