专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
题解报告
最优解法:
其他数字都出现了两次,那么这些数依次异或结果为0。那么这个数组连续异或,答案正好是这两个出现一次的数的异或。为了区分开这两个数,我们在异或结果中我们找最后一位的1,因为结果不为零,肯定有这个1. 我们根据这一位是否为1,将原数组分成两组,每组包含一个出现一次的数。