神奇的位运算——数组中仅出现一次的数字
2017-04-14 21:37
369 查看
有一个数组,数组中仅有一个数字出现一次,其余出现两次,求出现一次的数字。
方法:把数组中所有元素进行异或运算,那么最后的结果就是出现一次的数字。异或运算会让相同的数字变为0,那么最后剩余的那个数字肯定是仅出现一次的。
方法:把数组中所有元素进行异或运算,那么最后的结果就是出现一次的数字。异或运算会让相同的数字变为0,那么最后剩余的那个数字肯定是仅出现一次的。
#include<iostream> using namespace std; int Arr[11]={1,1,3,5,4,3,4,5,10,11,10}; int main() { int x=Arr[0]; for(int i=1;i<11;++i) { x=x^Arr[i]; } cout<<x<<endl; return 0; }
相关文章推荐
- 九度OJ 1351:数组中只出现一次的数字 (位运算)
- 剑指offer——数组中只出现一次的数字(好题,熟悉位运算)
- 数组中只出现一次的数字——位运算
- 九度OJ 1351:数组中只出现一次的数字 (位运算)
- 每天一道算法题10 找出数组中两个只出现一次的数字
- 每天一道算法题-1 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 程序员面试题精选100题(34)-找出数组中两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- 【算法14】找出数组中两个只出现一次的数字
- 【转帖】找出数组中两个只出现一次的数字
- (34)-[转载] 程序员面试题精选100题 -找出数组中两个只出现一次的数字
- 算法题6 找出整数数组中两个只出现一次的数字
- 找出数组中唯一出现一次的两个数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字 [No. 30]
- 找出数组中2个只出现了一次的数字
- 找出数组中两个只出现一次的数字--分组异或
- 找出数组中两个只出现一次的数字