首页 > 试题广场 >

一个数组,除一个元素外其它都是两两相等,求那个元素?

[问答题]
一个数组,除一个元素外其它都是两两相等,求那个元素?
放集合里去重,求和乘2.再减去原来数组所有元素求和
发表于 2018-12-30 23:33:56 回复(0)
异或运算满***换律,相同数异或为0,结果就是 0 xor  x = x
发表于 2018-12-24 10:34:14 回复(0)
let fn = (ar) => ar.filter(v => ar.indexOf(v) === ar.lastIndexOf(v));
发表于 2018-12-24 22:09:07 回复(0)
a,x1…xn
x1^x1=0;
……
xn^xn=0;
0^0=0;
0^a=a;
发表于 2018-12-24 19:44:12 回复(0)
1. 满***换律:A^B = B^A 2. 满足结合律:(A^B)^C = A^(B^C) 3. 0^A = A 4. A^A = 0
nums = {a1,a2, b1, b2, c1}

0^a1^b1^c1^b2^a1
0^(a1^a2)^(b1^b2)^c1
0^0^0^c1
c1 
int a = 0;
for(auto i : nums)
    a ^= i;
return a;

编辑于 2018-12-28 16:27:45 回复(0)
将所有元素异或即可,《剑指offer》中的题目简单版
发表于 2018-12-24 09:18:24 回复(0)
快排排序之后再顺序查,是nlogn + n 的复杂度
发表于 2018-12-24 05:02:41 回复(0)
两个for循环,拿第一个数组里面的每一个,和第二个数组里的每一个元素相比较
发表于 2018-12-24 00:12:53 回复(0)