0
点赞
收藏
分享

微信扫一扫

按位异或寻找只出现一次的数

1.上节博客分享了寻找之出现一次的数,是暴力算法。

2.这次分享一个简单算法,按位异或。

3.缺点是只能有一个数是出现一次,如果多于一个,按位异或就无法完成。

4.文末会增加按位异或的小知识点。

按位异或寻找只出现一次的数_按位异或

5.像这个数组,4和7分别出现一次,无法用按位异或。

按位异或寻找只出现一次的数_按位异或_02

按位异或知识点:

  1. a^b 是表示 a 和 b 所对应的二进制,如果所对应的位的数字相同,则为0;如果不相同,则为1。
  2. 例子: 3 的二进制是011;

               5 的二进制是101;

                所得结果 是110;

3.按位异或满足交换律,有以下特点:

              0^ a = a;

              a^a = 0;

这个题目就是用到了 a^a = 0;

举报

相关推荐

0 条评论