丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
资深技术专家手把手带教
技术交流,直击现场
让创作激发创新
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
热门
获取数组中只出现过一次的数字的算法,用到了XOR,但不太能理解只记得自身的XOR会得到0
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
0 xor 0 = 00 xor 1 = 1得出 a xor 0 = a1 xor 1 = 0 0 xor 0 = 0得出 a xor a = 0 所以数组中所有数异或一遍,出现两次的结果为0,就能找出只出现一次的数,这道题我记得leetcode上出现过,还有更复杂一些的
0 xor 0 = 0
0 xor 1 = 1
1 xor 1 = 0
1.a^a=02.0^a=a3.异或满足交换率和结合率因此a^b^c^b^c=a^(b^b)^(c^c)=a