题目:一个特别大的整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
思路:1. 对数组中所有数按位异或,抵消掉所有重复数字,异或结果为这两个只出现一次的数组的异或结果。
2. 按上一个异或结果的第一个为1的位,重新将大数组分为两类,分别对这两组数异或,最终结果为要找的这两个数。
题目:找数组中出现一次的两个数
本文探讨了如何在一个整型数组中找到仅出现一次的两个数字,通过位运算实现高效解决。
本文探讨了如何在一个整型数组中找到仅出现一次的两个数字,通过位运算实现高效解决。
题目:一个特别大的整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
思路:1. 对数组中所有数按位异或,抵消掉所有重复数字,异或结果为这两个只出现一次的数组的异或结果。
2. 按上一个异或结果的第一个为1的位,重新将大数组分为两类,分别对这两组数异或,最终结果为要找的这两个数。

被折叠的 条评论
为什么被折叠?