zoukankan      html  css  js  c++  java
  • 一个面试题给出的启示

    前段时间看到的一个前端逻辑题

    现在有100亿个数字大小为1到10亿的数字,在这100亿个数字里边只有一个数字出现的次数是奇数次的,你用什么方法,找出这个数字呢?

    刚开始的思路是参考《编程珠玑》里面的bitmap方法,但是创建一个10亿的bitmap需要大概4G的内存,如果是32为机器,根本不可能完成,后来看到了一个很简单但是又意想不到的方法:

    使用“位操作”的异或操作

    1、让所有数字和0做异或运算还是数据本省
    2、偶数次的数字做异或运算得到是0.a^b^b = a
  • 相关阅读:
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day15
    Intern Day14
    Intern Day14
    纯CSS序列号
    屌丝、高富帅、文艺青年、土豪的区别
    什么是文艺
  • 原文地址:https://www.cnblogs.com/guojiao1600/p/5436772.html
Copyright © 2011-2022 走看看