寻找奇数出现
2016-06-30 20:45
253 查看
有一个整型数组A,其中只有一个数出现了奇数次,其他的数都出现了偶数次,请打印这个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。
给定整形数组A及它的大小n,请返回题目所求数字。
测试样例:
[1,2,3,2,1],5
返回:3
思路:异或^的条件是相同为0,不同为1;设n=0;则n=n^a=a,如果出现同样的,则n=n^a=0;只有一个就只会值是那一个
代码如下:
给定整形数组A及它的大小n,请返回题目所求数字。
测试样例:
[1,2,3,2,1],5
返回:3
思路:异或^的条件是相同为0,不同为1;设n=0;则n=n^a=a,如果出现同样的,则n=n^a=0;只有一个就只会值是那一个
代码如下:
public static void main(String[] args) { // TODO Auto-generated method stub int[] A =new int[]{1,2,3,2,1}; System.out.print(findOdd(A,5)); } public static int findOdd(int[] A, int n) { // write code here int k = 0 ; for(int i=0;i<n;i++){ k = k^A[i]; } return k; }
相关文章推荐
- Maven install 报Fatal error compiling: tools.jar not found错误的处理
- Maven的生命周期
- 【bzoj4199】[Noi2015]品酒大会 后缀自动机
- C#标准查询运算符之推迟执行案例
- 嵌入式开发之secureCRT 的基本使用
- NoSql之Redis集群原理
- 记录自己的进步的点点滴滴
- 利用Nginx做负载均衡
- 微信点餐创业记
- 最大公共字符串输出
- 常用二极管IN4148和单片机驱动的一些关系
- 面试题21:包含min函数的栈
- Tomcat 7.0的配置及发布多个web应用以及不同端口多工程配置(第二版)
- QQ IDKey生成--一键加群
- 二叉树的镜像
- 倒计时练习
- Linux 下网络相关命令
- keil 之map文件应用
- 外网主机访问虚拟机中的部署在tomcat上的web项目
- hadoop中mr处理大量小文件