剑指offer 面试题40—数组中两个只出现一次的数字
来源:互联网 发布:电脑制图软件有哪些 编辑:程序博客网 时间:2024/05/16 13:47
题目:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度O(n),空间复杂度O(1)。
基本思想:
http://blog.csdn.net/wtyvhreal/article/details/44260321
#include <iostream>using namespace std;int Find1(int n)//从低位开始找第一个1的位置{int index=0;while((n&1)==0 && (index<8*sizeof(int))){n=n>>1;++index;}return index;}bool isbit1(int n,int index){n=n>>index;return (n&1);}void foo(int data[],int len){if(len<2)return;int result=0;for(int i=0;i<len;i++)result^=data[i];int index = Find1(result);int x=0;int y=0;for(int j=0;j<len;j++){if(isbit1(data[j],index))x^=data[j];elsey^=data[j];}cout<<x<<" "<<y<<endl;}void main(){int a[8]={2,4,3,6,3,2,5,5};foo(a,8);}
0 0
- 剑指offer 面试题40—数组中两个只出现一次的数字
- 剑指offer-面试题40 : 数组中只出现一次的两个数字
- 【剑指offer】面试题56(1):数组中只出现一次的两个数字
- 剑指offer——面试题40:数组中只出现一次的数字
- 剑指offer面试题40数组中只出现一次的两个数字,异或好题
- 剑指Offer 面试题40:数组中只出现一次的两个数 题解
- [剑指offer][面试题40]数组中只出现一次的数字
- [剑指offer]面试题40:数组中只出现一次的数字
- [剑指offer]面试题40:数组中只出现一次的数字
- 剑指Offer:面试题40 数组中只出现一次的数字
- 《剑指Offer》学习笔记--面试题40:数组中只出现一次的数字
- 【剑指Offer学习】【面试题40:数组中只出现一次的数字】
- 剑指offer面试题40-数组中只出现一次的数字
- 剑指offer-面试题40:数组中只出现一次的数字
- 剑指offer之面试题40数组中只出现一次的数字
- 剑指offer面试题40:数组中只出现一次的数字
- 剑指Offer面试题40:数组中只出现一次的数字 Java实现
- 剑指offer--面试题40:数组中只出现一次的数字
- Google推荐的命名规则——Android图片资源
- Java中字符串中子串的查找共有四种方法(indexof())
- ext 基本函数介绍
- java 字节流与字符流的区别
- 【Matlab学习笔记】图像的二值化(待续)
- 剑指offer 面试题40—数组中两个只出现一次的数字
- fedora 添加国内源
- iOS网络监测
- C编译器剖析_尾声
- android中的StatFs类
- hiho博弈游戏·Nim游戏
- [授权发表]基于 ssh + Xpra 构建 Docker 桌面系统
- nyoj 树状数组 522Interval 116士兵杀敌(二)
- 通过dnw进行裸机烧写