第二百四二章 位图的方法


小说:编程之战   作者:程序小猿   类别:未来世界   加入书签   【章节错误/点此举报】   【更新慢了/点此举报
推荐阅读: 永恒剑主 | 星光灿烂 | 巨星夫妻 | 弑天刃 | 九重神格 | 超警美利坚 | 步步惊唐 | 绝世天君 | 都市幻界 | 异度
笔趣阁 //www.boquge.com/book/105094/ 为您提供编程之战全文阅读!注册本站用户,获取免费书架,追书更方便!
  答案是肯定的。
  有一种方法,需要借助位图(bitmap)来实现。
  位图是一种简单但是非常有用的数据结构。
  你可以用一个数组来表示它,数组元素为0或者1,0代表不存在,1代表存在。
  首先,遍历列表,将里面的元素加入位图中,这是一趟线性操作。
  接着,从1遍历到100,依次判断当前数字是否存在于位图中。
  如果不存在,那就是缺失的编号,直接返回。
  这种方式需要同等大小的额外空间,但时间复杂度是很接近线性的。
  其实这里也可以使用哈希表,而不使用位图。
  但是,哈希表有额外的性能损耗,还是采用更简单的数据结构为好。
  想到这里,杨成已经有了三种方法。
  但是他有一个疑问:
  有没有不需要借助额外内存空间,时间复杂度也能为线性的方法呢?