原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/12149197.html

如果一个数组中存在若干对相同的数,和一个单独的数,例:

[1, 2, 3, 2, 3, 4, 5, 5, 4]

如果要快速找出其中那个单独数,可以用异或(^)来解决。

因为异或的原理是把数转换成二进制后,对二进制位进行对比, 相同则得0,不同则得1。

public int singleNumber(int[] nums) {
    int single = 0;
    for (int i = 0; i < nums.length; i++) {
        single ^= nums[i];
    }
    return single;
}

如上即可。

相关文章:

  • 2021-05-19
  • 2021-09-01
  • 2022-12-23
  • 2022-12-23
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-05
  • 2022-02-07
  • 2022-02-10
  • 2021-10-05
  • 2022-12-23
  • 2021-06-04
  • 2021-09-08
相关资源
相似解决方案