Problem:
一个数组里除了某一个数字外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。
Hint:
这个问题比上一个问题(如何找出唯一成对的数)简单多了,这里直接异或就行了
Code:
public static int findLostNum(int[] nums) {
int lostNum = 0;
for (int i = 0; i < nums.length; i++) {
lostNum = lostNum^nums[i];
}
return lostNum;
}
本文介绍了一种使用异或操作解决数组中寻找唯一单例数字的问题。在一个数组中,除了一个数字只出现一次外,其他数字都出现了两次,通过直接异或所有元素,可以高效找到这个只出现一次的数字。

478

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



