问题描述
很多成对出现数字保存在磁盘文件中,注意成对的数字不一定是相邻的,如2, 3, 4, 3, 4, 2……,由于意外有一个数字消失了,如何尽快的找到是哪个数字消失了?
类似题目:
【数组】数组中只出现一次的数2
【数组】数组中只出现一次的数3
【数组】数组中出现次数超过一半的数字
public static int solution(int[] a){
if(null == a || a.length == 0){
return -1;
}
int result = a[0];
for(int i = 1; i < a.length; i++){
result ^= a[i];
}
return result;
}
本文介绍了一种高效算法,用于从成对出现但丢失了一个数字的列表中找出消失的数字。通过使用异或操作,该算法能在O(n)时间内解决这一问题。

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



