剑指offer题解 数组中只出现一次的数字
来源:互联网 发布:3dsmax2014软件许可证 编辑:程序博客网 时间:2024/05/01 06:29
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { if(array.length<2) { return; } int result=0; for(int i=0;i<array.length;i++){ result^=array[i]; } int n=0; int num=1; int count=0; while(result>0){ if((result&num)>0){ break; } num=num<<1; count++; } int left=0; int right=0; for(int i=0;i<array.length;i++){ if(isBit1(array[i],count)){ left^=array[i]; }else{ right^=array[i]; } } num1[0]=left; num2[0]=right; } boolean isBit1(int num,int n){ int temp=1; while(n>0){ temp=temp<<1; n--; } return (temp&num)!=0; }}
0 0
- 剑指offer题解 数组中只出现一次的数字
- 剑指offer--数组中只出现一次的数字
- 剑指Offer之 - 数组中只出现一次的数字
- [剑指Offer]40.数组中只出现一次的数字
- 剑指offer-40 数组中只出现一次的数字
- 剑指offer 数组中只出现一次的数字
- 剑指offer 40-数组中只出现一次的数字
- 《剑指offer》数组中只出现一次的数字
- 剑指offer—数组中只出现一次的数字
- 【剑指offer】之数组中只出现一次的数字
- [剑指offer-1351]数组中只出现一次的数字
- 剑指offer:数组中只出现一次的数字
- 剑指offer 40 数组中只出现一次的数字
- 剑指offer:数组中只出现一次的数字
- 剑指offer 数组中只出现一次的数字
- [剑指offer]数组中只出现一次的数字
- 剑指Offer--040-数组中只出现一次的数字
- 剑指offer—数组中只出现一次的数字
- 构造回文
- linux下离线更新nessus漏洞插件的方法
- 产品上架app store最新流程
- POJ 2262 Goldbach's Conjecture
- 创建对象与使用对象——谈谈工厂的作用
- 剑指offer题解 数组中只出现一次的数字
- Java学习笔记(1)Introduction to Computers, Programs, and Java
- windows编程之进程枚举的三种方式
- Linux awk命令
- cocos-lua-Nodex
- cocos-lua-spriteex
- 【leetcode】113Path Sum II(DFS输出路径)
- HDU Divided Land(Java大数,二进制大数最大公约数)
- Android:如何把一个应用添加到Settings列表中...