落单的数

Posted 西西弗斯的痛苦与无聊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了落单的数相关的知识,希望对你有一定的参考价值。

落单的数

Table of Contents

1 题目

给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。

2 挑战

循环一次,常数的空间消耗

3 思路

如果没有循环次数限制和常数的空间消耗限制,这个问题很简单。用一个数组来记录数字出现的次数,再找出一次的数字就可以了。

但是用常数的空间消耗,确实没有想到好方法,后来在网上搜到的方法。用亦或来做,真是聪明!

public class Solution {
    /**
      *@param A : an integer array
      *return : a integer 
      */
    public int singleNumber(int[] A) {
        // Write your code here
        int result = 0;
        for(int a: A) {
            result ^= a;
        }
        return result;
    }
}

Date: 2016-12-31 17:00

Created: 2016-12-31 周六 17:21

Validate

以上是关于落单的数的主要内容,如果未能解决你的问题,请参考以下文章

LintCode 82. 落单的数

LintCode Python 简单级题目 82.落单的数

题2 找出落单的那个数

程序员算法趣味题:落单的男女

归并排序

算法很美Java版