第三题,给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。
来源:互联网 发布:mac 关闭照片自动打开 编辑:程序博客网 时间:2024/04/27 14:56
第三题,给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。
void getNum(int a[],int length)
{
int s = 0;//保存异或结果
for(int i=0;i<length;i++)
{
s=s^a[i];
}
int temp1 = s; //临时保存异或结果
int temp2 = s; //临时保存异或结果
int k=0;
while((temp1&1) == 0) //求异或结果中位为1的位数
{
temp1 = temp1>>1;
k++;
}
for(int i=0;i<length;i++)
{
if((a[i]>>k)&1) //将s与数组中第k位为1的数进行异或,求得其中一个数
{
//cout<<a[i]<<" ";
s=s^a[i];
}
}
cout<<s<<" "<<(s^temp2)<<endl; //(s^temp2)用来求另外一个数
}
- 第三题,给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。
- 给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来
- 数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数
- 数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数
- 从数组中找出只出现一次的两个数,数组中其他数都出现两次
- 数组中除了三个数只出现过一次,其他的均出现过两次,请找出这三个只出现过一次的数
- 给定一个数组,除了两个数只出现一次以外,其他数都出现了两次。
- 一个整型数组里除了两个数之外,其他数都出现了两次。找出这两个出现一次的数。
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数
- 数组中只有一个数出现一次,其他数都出现两次,如何找出只出现一次的那个
- 一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数
- 【c语言】 给一组数,有两个数只出现了一次,其他所有数都是成对出现的。找出这两个数
- 找出一个数组中只出现一次的两个数
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。查出其他两个只出现一次的数
- 找出两个只出现一次的数(其它都出现两次)Single Number III
- 序列中只有一个数出现了一次,其他均出现了两次,找出只出现过一次的这个数
- 序列中只有一个数出现了一次,其他均出现了两次,找出只出现过一次的这个数
- 一个数组有除了两个元素只出现一次,其他元素全部都出现了两次,请找出只出现一次的两个元素,并输出
- Documentation/trace/events-nmi.txt
- Android中 int 和 String 互相转换的多种方法
- 浅谈语义主题计算
- mark: Oracle11gR2 RAC_primary+Single_standby dataguard部署
- 玩转工厂模式
- 第三题,给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。
- Android4.1 wpa_supplicant的使用
- resource is out of sync with the file system 解决方法
- VC/MFC Q&A 200409
- mysql 连接报错 ERROR 1045 (28000): Access denied for user
- MSP430F在ETC中的应用
- java类路径使用
- 在编译jni本地库的时候遇到的“多个目标匹配”的问题
- Unity4.2.1之mac破解版步骤