问题描述:给一个5G的大文件,保存的数据为32位的整型,找到所有出现次数超过两次的数字

  大数据操作:

  解决方法一:

  依次遍历文件数据,
  开始32二进制清0
  每次读取一个数,先和二进制位与,如果为0 则没有,再把数字与二进制数位或。如果为1,则输出这个数
  直到读取文件最后一个数字

举例说明:

0000 0000 0000 0000 0000 0000 0000 0000 开始的二进制位 倘若第一个数为2 那么
0000 0000 0000 0000 0000 0000 0000 0010  开始位与 结果不为2, 则二进制里面没有2 这个数字,然后用二进制与当前数字或运算结果为
0000 0000 0000 0000 0000 0000 0000 0010  再次读取一个数字 如果为 3 则开始先和新的二进制数位与
0000 0000 0000 0000 0000 0000 0000 0011 位与结果为 0000 0000 0000 0000 0000 0000 0000 0010 结果不是3 则在和二进制位与那么现在的二进制数为:
0000 0000 0000 0000 0000 0000 0000 0011  在读取 一个数字 如果为8 和二进制数为与
0000 0000 0000 0000 0000 0000 0000 1000 结果为0,不等于,说明没有8,则再次为或
0000 0000 0000 0000 0000 0000 0000 1011 新的二进制数,在读取一个数字,如果为8 
0000 0000 0000 0000 0000 0000 0000 1000 位与,等于........1000  位与结果为8 那么8 就是出现2次的那个数字,
一下同理读取文件数据,直到文件结束。

面试问题2:给一个5G的大文件,保存的数据为32位的整型,找到所有出现次数超过两次的数字的更多相关文章

  1. VC++获取一个GB级大文件的字节大小

    常规的获得小文件(2.1GB以下)的字节大小可以使用ftell,函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数.使用fseek函数后再调用函数ftell()就能非常容易地确定文 ...

  2. 因用了NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误的解决方法

    今天遇到一个问题,就是“NeatUpload大文件上传控件而导致Nonfile portion > 4194304 bytes错误”,百度后发现了一个解决方法,跟大家分享下: NeatUploa ...

  3. 【原创】用JAVA实现大文件上传及显示进度信息

    用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...

  4. PHP上传遇到的问题-php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

    今天在做上传的时候出现一个非常怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,最后问了师傅,师傅看了说挺奇怪的,然后问我upload_max_fi ...

  5. java springboot 大文件分片上传处理

    参考自:https://blog.csdn.net/u014150463/article/details/74044467 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时 ...

  6. Hadoop如何将TB级大文件的上传性能优化上百倍?

    这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化. 首先,我们还是通过一张图来回顾一下文件上传的大概的原理. 由上图所示,文件上传的原理,其实说出来也简单. 比如有个TB ...

  7. 用JAVA实现大文件上传及显示进度信息

    一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框 ...

  8. GitHub限制上传单个大于100M的大文件

    工作中遇到这个问题,一些美术资源..unitypackage文件大于100M,Push到GitHub时被拒绝.意思是Push到GitHub的每个文件的大小都要求小于100M. 搜了一下,很多解决办法只 ...

  9. php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项。

    今天在做上传的时候出现一个非常怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,群里人问我upload_max_filesize的值改了吗,我说改了 ...

随机推荐

  1. 【Win10开发】绘制静态UI

    相信经历过Windows Insider的人对下面这个图都不会陌生,偶然看见邹欣老师领导的微软团队写了篇用xaml绘制这个静态页面,那咱也来亲手实验一番.唔...请做和放宽! 首先我们来看看xaml代 ...

  2. 关于C#操作防火墙,阻止程序联网

    //开启服务.开启防火墙 public void OpenFileWall() { // 1. 判断当前系统为XP或Win7 RegistryKey rk = Registry.LocalMachin ...

  3. linux下 nginx、php-fpm、mysql 开机自启动

    1.分别为每个编写shell脚本放入/etc/init.d下,添加service服务 2.把每个service服务加入到chkconfig列表 这里我们以php-fpm为例说明下步骤: php-fpm ...

  4. java泛型详解

    http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

  5. [转载]C#使用Interlocked进行原子操作

    原文链接:王旭博客 » C# 使用Interlocked进行原子操作 什么是原子操作? 原子(atom)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operat ...

  6. Google LOGO现代舞舞蹈动画

    效果预览:http://hovertree.com/texiao/js/5.htm 截图: HTML文件代码: <!DOCTYPE html> <html xmlns="h ...

  7. jquery.datatables中文使用说明

    http://www.cnblogs.com/taizhouxiaoba/archive/2009/03/17/1414426.html 本文共四部分:官网 | 基本使用|遇到的问题|属性表 一:官方 ...

  8. AlloyRenderingEngine开门大吉

    快速入口 不读文章可以直接拐向这里: github:https://github.com/AlloyTeam/AlloyRenderingEngine website:http://alloyteam ...

  9. ArcGIS10.2.2 Desktop直接连接数据库的具体步骤

    ArcGIS10.2.2 Desktop直接连接数据库的具体步骤,以sqlserver2008R2和oracle11G数据库为例子,这里数据库的具体安装步骤不说了,不在讨论的范畴之内. 假如数据库软件 ...

  10. [DOM Event Learning] Section 1 DOM Event 处理器绑定的几种方法

    [DOM Event Learning] Section 1 DOM Event处理器绑定的几种方法   网页中经常需要处理各种事件,通常的做法是绑定listener对事件进行监听,当事件发生后进行一 ...