题目描述
现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。
注意:
你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
测试用例:
输入:
7
2 3 2 3 4 1 4
输出:
1
最终AC代码:
#include <cstdio> int main() { int i, t, n, a[10]; while(scanf("%d", &n) != EOF){ for(i=0; i<n; i++) scanf("%d", &a[i]); t = 0; for(i=0; i<n; i++){ t ^= a[i]; //printf("%d ", t); } printf("%d ", t); } return 0; }
测试的时候打印的结果:
第0个--2--2 第1个--3--1 第2个--2--3 第3个--3--0 第4个--4--4 第5个--1--5 第6个--4--1
很奇妙!!!