Toggle navigation
编绘童年
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
Problem4271--位运算-只出现一次的数字
4271: 位运算-只出现一次的数字
Time Limit:
1
Sec
Memory Limit:
128 MB
Submit:
0
Solved:
0
[
Status
] [
Submit
] [Creator:
]
Description
给定n个数,除了某个元素x只出现一次以外,其余的每个元素均出现两次。请你快速找出那个只出现了一次的元素。
Input
第一行,一个整数n,表示有多少个数,数据范围是 1<=n<=10000
第二行,n个数,每个数都在1~10000以内
Output
输出只出现一次的数字
Sample Input
Copy
7 1 2 3 4 3 2 1
Sample Output
Copy
4
HINT
利用异或运算 (数学符号:⊕) 的三个数学性质,我们可以像变魔术一样把成对的数字“抹掉”:
归零律(自反):a ⊕ a = 0 (相同的数字异或结果为 0)
恒等律:a ⊕ 0 = a (任何数字与 0 异或结果不变)
交换律、结合律:a ⊕ b ⊕ a = a ⊕ a ⊕ b = 0 ⊕ b = b
Source/Category
提高C