数组中只出现一次的数字
来源:互联网 发布:人工智能的利弊 编辑:程序博客网 时间:2024/06/03 21:09
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { if(array==null||array.length==1){ num1[0]=0; num2[0]=0; return; } int a1=0,a2=0; //计算分组标志k int yh=0; for(int i=0;i<array.length;i++){ yh=yh^array[i]; } int k=getLastBit1(yh); //开始分组,并计算 for(int i:array){ if(isKBit1(i,k)){ a1^=i; }else{ a2^=i; } } num1[0]=a1; num2[0]=a2; } //获取最后一个1对应的数值 倒数第三位 2^3=8; private int getLastBit1(int num){ int temp=num&(num-1); return num-temp; } //8^a=8 判断分割到哪一个组 private boolean isKBit1(int num,int k){ if((num&k)==k) return true; return false; }}
0 0
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- 数组中只出现一次的数字
- Android 自定义View 中的OnMeasure的用法
- PCB板热设计
- Android SDK Manager国内无法更新的解决方案
- Jboss wildfly部署在linux环境上无法访问的问题
- eclipse提示Syntax error, insert “EnumBody” to complete EnumDeclaration
- 数组中只出现一次的数字
- Servlet生命周期与工作原理
- Qt Creator创建 的 project工程文件介绍
- 中缀表达式转换成前缀表达式和后缀表达式的极其简单方法
- 石子合并问题
- Android EventBus实战
- 错图js
- java下protobuf初体验
- [实验-视频过程]oracle热备份-单个表空间-备份和恢复操作演示