【查找】【位操作】数组中,除某一个数字x之外,其他数字都出现三次,而x出现一次,找出x
来源:互联网 发布:年均增速算法 编辑:程序博客网 时间:2024/05/22 06:20
题目:EPI
数组中,除某一个数字x之外,其他数字都出现三次,而x出现一次,找出x。
推广一下,所有其他数字出现N(N>=2)次,而一个数字出现1次都可以用这种解法来推导出这个出现1次的数字。
具体解析请看【白话经典算法系列之十七】 数组中只出现一次的数。
int Find_Number_Once(const vector<int> &A){if(A.empty())throw new exception;int bit[32]={0};//全部初始化为零//int bit[32]; 初始化不为零!!!for(int i=0;i<A.size();i++){for(int j=0;j<32;j++){if(A[i] & (1<<j) )bit[j]++;}}int res=0;for(int i=0;i<32;i++){if(bit[i]%3!=0)res=res | (1<<i);}return res;}
EPI书上P275写了一段改进后的代码(不知所云),如下所示:
0 0
- 【查找】【位操作】数组中,除某一个数字x之外,其他数字都出现三次,而x出现一次,找出x
- 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次
- 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次
- 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法,找到x。
- 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法,找到x
- 找出数组中只出现一次/两次/三次的数字,而其他数字都出现偶数次
- 一个整型数组里除了一个数字之外,其他的数字都出现了两次,找出出现一次的数字
- 算法习题61:找出数组中两个只出现一次的数字:一个整型数组里除了两个数字之外,其他的数字都出现了两次
- 其他数字出现3次,x出现一次,输出x
- 找出数组中出现一次两个数,其他数字都出现偶数次
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字
- 数组中有两个出现一次的数字,其他数字都出现两次,找出这两个数字
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
- JS遍历数组
- 页置换算法FIFO、LRU、OPT
- String类中的练习
- maya standalone的使用--测试一下发优酷视频
- C、C++ 中 |、||、&、&&、异或、~、!运算详解
- 【查找】【位操作】数组中,除某一个数字x之外,其他数字都出现三次,而x出现一次,找出x
- LeetCode Convert Sorted Array to Binary Search Tree
- 同一个%的不同答案
- APP被苹果APPStore拒绝的各种原因
- 数据结构第七章思维导图
- jquery 选中radio 与取消radio选中状态
- Bundle in Ios~
- 需求分析到设计
- quik讲解-2