只出现一次的数字
题目是这样的:数组中只有一个数是单个出现的的,其他都是成对出现的,形如 [4,1,2,1,2] ,现在是求出这个单个出现的数字
编程语言选的是javascript,采用的逻辑运算中的异或运算,相同的两个值进行异或运算结果为0,0异或任何数=任何数
这里写个函数实现吧!
function find (nums) {
let num = 0;
for (let i=0;i<nums.length;i++) {
num = num ^ nums[i]
}
return num
}
let nums = [4,1,2,1,2];
let res = find(nums);
console.log('result: ',res)
这里的num等于数组中每个元素进行异或运算得到的最后结果,0^4^1^2^1^2 变换下结构 0^4^1^1^2^2,因为1^1 = 0,2^2 = 0,最后剩了0^4,而0异或任何数 = 任何数,所以结果为4

浙公网安备 33010602011771号