数组中只出现一次的数字

Posted yangyanfen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中只出现一次的数字相关的知识,希望对你有一定的参考价值。

技术图片

 扩展:数组中只出现一次的两个数字

1、在上述题目中,数组中所有数字异或得到单独数字;那么在这个题目中,数组中所有数字异或得到这两个单独数字的异或;

2、我们只需要把数组中所有数字分成两组,并且每一组中的仅包含一个单独数字,那么就把这个问题转化为基础问题了,比如:

数组:[a,b,c,d,a,b]转换为[a,a,c],[b,b,d],或者是[a,a,d],[b,b,c]。

3、x是两个不相同数字的异或,那么x必然不是0,我们只要找到x为1的某一位,比如第n位,或者m位,只要是x在这一位上为1。那么在这一位上,c,d是不同的,异或运算才得到1,否则就是0了。,这就是区分c,d的关键

4、遍历数组,当第n位为1的时,归位一组,第n位不为1,归为另一组。这样就得到了两个组,将问题成功转换为夹出问题技术图片

以上是关于数组中只出现一次的数字的主要内容,如果未能解决你的问题,请参考以下文章

数组中只出现一次的数字

求数组中只出现一次的两个数字

数组中只出现一次的数字(数组中唯一只出现一次的数字)

剑指OFFER 数组中只出现一次的数字

数组中只出现一次的数字

数组中只出现一次的数字