只出现一次的数
程序员文章站
2024-03-16 20:29:22
...
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
分析:想了很久也没想到,最后百度是通过亦或的方法,原理因为只有一个元素出现一次,其他元素出现了两个,元素与元素本身亦或为零,与零亦或为它本身。
//找出数组中只存在一次的数
public static int SingleNumber(int[] nums){
int num = 0;
for(int i=0;i<nums.length;i++){
num ^=nums[i];
}
return num;
}
扩展亦或知识点
a^a=0; 与它本身亦或为零;
a^0=a; 与零亦或为它本身;
关于a,b交换变量
a=a^b;
b=a^b;
a=a^b;
上一篇: IOS 常见加密算法