如何找出数组中只出现一次的数字

原创 2016年05月31日 08:32:43

笔试面试宝典中的一个题目
问题描述:一个数组里除了一个数字之外,其他数字都出现了两。找出这个只出现一次的数字。时间复杂度为O(n),空间复杂度为O(1)。
用异或运算的性质:任何数字异或自己都等于0,数字与0异或结果为数字本身。异或的交换律。

public class Test {
    public static int findNotDouble(int []arr){
        int tmp = arr[0];
        for(int i = 1; i<arr.length; i++){
            tmp ^= arr[i];
        }
        return tmp;
    }
    public static void main(String[] args) {
        int []arr = {1,2,3,5,5,3,2,1,6};
        int result = findNotDouble(arr);
        System.out.println(result);
    }
}

如果题目改为数组A中,一个整型数组除了一个数字以外,其他数字都出现了3次,那么如何找到这个数?

版权声明:本文为博主原创文章,未经博主允许不得转载。

数组中只出现一次的数字(java版)

【题目描述】一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。【解题思路1】暴力解法 //1. 对数组进行排序。 //2. 遍历一次数组,将array[i...
  • ouyangyanlan
  • ouyangyanlan
  • 2017年05月23日 22:19
  • 1633

Single Number II -- 找出数组中唯一出现一次的数,其它数都出现了三次

原题: Given an array of integers, every element appears three times except for one. Find that single o...
  • u011960402
  • u011960402
  • 2014年01月02日 09:51
  • 4220

经典算法题1:找出数组中只出现一次的数字,其它数字都出现了两次

一个整型数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。...
  • u011826264
  • u011826264
  • 2014年09月14日 13:19
  • 3975

数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次

本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢。 欢迎关注微博:http://weibo.com...
  • baoendemao
  • baoendemao
  • 2014年10月09日 09:59
  • 2072

位运算之只出现一次的的数字

****************位运算系列之数组中只出现一次的数字****************** //题目(1):在一个数组中只有一个数字出现一次,其他数字都是成对出现的!让你找出这...
  • bitboss
  • bitboss
  • 2016年06月06日 11:15
  • 845

数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数

如题:数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数 例如:{10,9,8,7,6,6,7,8,9,10,5,5,4,3}; 4和3只出现过一次,请找出出现过一次的数。...
  • cxming007
  • cxming007
  • 2014年04月15日 13:09
  • 7109

数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法,找到x

数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法,找到x。 2013-09-07 19:57 1365人阅读 评论(3) 收藏 举报  分...
  • qaz135135135
  • qaz135135135
  • 2016年07月17日 20:21
  • 539

【算法】给定一个数组,除了一个数出现1次之外,其余数都出现3次,输出出现一次的那个数。

给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。如:{1, 2, 1, 2, 1, 2, 7},找出7.格式:第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],...
  • bug_moving
  • bug_moving
  • 2016年09月23日 13:44
  • 3085

寻找数组中只出现一次的数 java实现

本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢。 首先看看题目要求: 数组A中,除了某一个...
  • Simon_901
  • Simon_901
  • 2014年08月19日 10:41
  • 1157

算法习题61:找出数组中两个只出现一次的数字:一个整型数组里除了两个数字之外,其他的数字都出现了两次

找出数组中两个只出现一次的数字 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度是 O(1)。 ------...
  • ylf13
  • ylf13
  • 2013年11月14日 11:33
  • 1016
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何找出数组中只出现一次的数字
举报原因:
原因补充:

(最多只允许输入30个字)