美文网首页
leancloud 82落单的数

leancloud 82落单的数

作者: 誓言_acaa | 来源:发表于2019-08-21 15:25 被阅读0次

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

    输入:[1,1,2,2,3,4,4]
    输出:3
    解释:
    仅3出现一次

    /**
     * @param A: An integer array
     * @return: An integer
     */
    const singleNumber = function (A) {
        var a = 0
        for(let i = 0; i < A.length; i++) {
            a ^= A[i]
        }
        return a
    }
    

    解析:^(异或的用法)
    0与任何数异或的结果是这个数本身。
    一个数和本身异或的结果是0。
    所以遍历下来,0与其他数异或得到数本身,数与数异或,如果相同得0,不同则是数本身。

    相关文章

      网友评论

          本文标题:leancloud 82落单的数

          本文链接:https://www.haomeiwen.com/subject/yqxisctx.html