一、异或思维
1.1 在成对存在的数组中(即数组中的每个数必然存在另一个与其值相等的一个数),被程序员误插入了一个数(即该数在这个数组中唯一),如何找出这个数?
答案:将所有数化为二进制,做异或。
1.2 在成对存在的数组中(即数组中的每个数必然存在另一个与其值相等的一个数),被程序员误插入了两个数(即这两个数在这个数组中都是唯一),如何找出这两个数?
答案:异或所有数,所得结果相当于混入的这两个数的异或,取其不为0的某一位,按照这一位将数组元素分成两组(一组为0,一组为1),两组组内异或,分别得到这两个数。
二、数组相关
2.1 给定一个数组a[],一次遍历在其中找出最大(最小)的元素。
答案:冒泡排序。
2.2 给定一个