java常见问题 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

一、用4字节表示的整数个数为2^32≈40亿,而用2字节表示的无符号整数个数为2^16≈6万。

java常见问题 挑战程序员同学,如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数?

二、2G=2^31B≈20亿字节。

三、要找出出现次数最多的数,则应记录每个数出现的次数,最快的方法是在内存中将每个数出现的次数记录下来,记录的方法则是内存地址对应数,相应地址的内存单元记录次数,但2G内存以字节为单位仅能记录20亿个数,且每个数出现的次数大于255将会出现溢出风险。因此,这一方案不可取。

四、这样只能将每个次出现的次数记录在磁盘上。这样在磁盘上建一个16G的文件,每4字节对应一个整数,可对应40亿个整数,并用于记录相应整数的出现的次数。

1、将文件初始化。

2、依次读取数据,并用无符号整数记录在磁盘文件中,如出现溢出,则该数为次数最多的数。

3、从文件中读取各数出现的次数,用一个变量A记录最高次数,再用一个变量B记录最高次数出现的数据个数,要用个文件依次记录最高次数出现的数。当最高次数增加时,A 1,B置1,文件中写入该数,同次数的数出现时,B 1,文件相应位置写入该数,直到全部读完。

这样根本不需2G内存。

一表示什么,从总数里面去掉一部分?

"部分数"和"总数"是分析加减法应用题的数量关系用到的概念。例如:小华有20本课外书,借给同学5本,还剩几本?在这道题中,“20本”是总数,借出的5本是一部分,剩下的是另一部分,借出的和剩下的都是部分数。数量关系式是:部分数 另一部分数=总数总数-部分数=另一部分数求“还剩几本”就是求另一部分数是多少,20-5=15,剩下15本。

标签:

最新文章

  1. 如何在WPS文档中制作立体效果的文字2025-03-07
  2. h5模板网站 h5模板需要下载吗?我想制作一个h5页面?2025-03-18
  3. 如何解决Word文档换行空隙过大的问题2025-03-15
  4. 如何解决电脑资源占用高导致卡死问题2025-03-12
  5. 怎么在电脑上连接宽带网络上网 电脑换宽带怎么设置?2025-03-10
  6. 如何在Chrome中开启无痕模式2025-03-07
  7. 顺丰速运从无锡到苏州要多久 快递苏州到无锡要多少时间?2025-03-24
  8. excel表如何一列求和 Excel表一列求和2025-03-14
  9. 连云港机场提前多长时间到(机场能提前多久进啊?)2025-03-17
  10. 因特网手机怎么连接 手机连接网络步骤详解2025-03-13
  11. 小米手环全天开启心率监测 小米手环6压力监测是什么?2025-03-09
  12. 为什么湛江公园一号停工(湛江十大富人小区?)2025-03-24
  13. 怎样做网页设计与制作 如果下辈子只有这2个选择,你愿意做猫还是做狗?2025-04-01
  14. java 用java发送http请求,ping不通该服务器的ip。是不是就发送不成功?java新手?2025-03-31
  15. windows安装包不小心删除 软件安装好后,把它的安装向导删掉可以吗?2025-03-24
  16. 杭州富士莱集成吊顶评价怎么样 集成吊顶累不累?2025-03-18
  17. 协方差计算公式excel excel方差计算方法?2025-03-17
  18. 深圳市中嘉金融好不好 深圳有,哪几家印务公司做烟盒的?2025-03-25
  19. ps怎么把一个图片直接改成圆角2025-03-11
  20. 电脑重装系统怎么操作步骤 重装Win7系统步骤和详细教程?2025-03-27
  21. 华为智能手机权限设置在哪里设置 华为设备标识权限怎么打开?2025-03-16
  22. excel怎么绘制三个坐标系的图 表格中度分秒如何分成三个表格?2025-03-23
  23. spring注解 java怎么避免死锁?2025-03-30
  24. 锐捷交换机配置教程 锐捷路由器怎样用app设置?2025-03-21
  25. 如何在Excel/WPS表中筛选重复项数据2025-03-08
  26. 如何实现云端考勤 大家现在都用什么软件记录考勤?2025-03-24
  27. 苹果手机为什么看不了抖音直播间 苹果手机无法看抖音直播原因2025-03-10
  28. java数组创建 如何捕获异常?2025-03-27
  29. 华为手机p40pro如何升级鸿蒙系统 华为p40 pro升级鸿蒙3.0方法?2025-03-16
  30. 带圈的数字一到一百怎么打 手机怎么打带圆圈的数字?2025-03-25
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 流程优化的七个步骤 企业如何做好工作流程管理?

    企业如何做好工作流程管理?我认为现阶段企业的管理离不开过程。流程管理不仅可以提高企业的工作效率,而且可以在一定程度上降低管理成本,控制经营风险,使企业更好更快地发展。因此,很多企业几乎都有OA办公系统,用于日常工作流程的管理和维护,但它只解

  2. 2 结构体初始化赋值为0 请说明结构体初始化数据赋值的几种方式?

    请说明结构体初始化数据赋值的几种方式?这是非常完整的c底漆。包括最新的标签分配。使用大括号指定值;逐个为成员变量指定值;为整个结构(通常为memset)指定值;为C99的标签指定值。

  3. 3 手机室内温湿度计下载 室内温度计手机版管用吗?

    室内温度计手机版管用吗?从手机上下载室内温度计是非常有用的。你一进房间就可以知道室内温度很高兴回答你的问题!首先,手机内置的温度传感器一般测量手机内部电池或主板的温度,不能反映外部空气的温度,因为手机在运行过程中会产生热量,所以与外部温度会

  4. 4 python中逗号在print的作用 Python中的逗号有什么作用?

    Python中的逗号有什么作用?Python中的逗号函数包括格式化、无换行、无换行、附加内容等。例如,“一”、“二”、“三”和“四”是四组独立的字符串,通过符号连接。

  5. 5 骨折打完钢板感受 脚踝内固定容易移位哇?

    骨折可分为稳定骨折和不稳定骨折。稳定型骨折不易移位,不稳定型骨折易移位,故需采用坚固的外固定架(支架、石膏、外固定架等)和内固定架(钢板、螺钉等)使其成为稳定型骨折。如果钢板、螺钉等内固定器断裂、滑动,内固定失效,骨折移位。轻微移位不会感到

  6. 6 java和php区别 css和html样式的优点和缺点?

    css和html样式的优点和缺点?HTML的优点和缺点:1。这很容易学。2结构和缺陷。浏览器也可以理解。缺点:1。结构凌乱,可读性低。2它只能排版文本,HTML样式使用标准文本标识,不能产生一些特殊效果。CSS的优缺点:1。CSS是一种简单

  7. 7 主体结构 程序的基本结构?

    程序的基本结构?程序有三种基本结构:顺序结构、选择结构和循环结构。顺序结构意味着程序代码从上到下逐行执行。选择结构是指程序代码根据不同的选择条件执行不同的分支,并在执行特定分支后继续执行后续代码。循环结构是指程序代码在满足判断条件的前提下重

  8. 8 不屑于怀疑是什么意思 不屑置疑的意思解释?

    不屑置疑的意思解释?这意味着蔑视怀疑。例如:新事物的出现和旧事物的消亡是不争的规律。不屑置疑是什么意思?不怀疑(不允许怀疑)不屑于怀疑==不愿意,不值得怀疑不屑于怀疑意味着不屑于怀疑他人。不屑置疑的意思?常用不怀疑(不怀疑)不屑怀疑==不愿

  9. 9 addlistener第三个参数 addEventListener和attachEvent的区别?

    addEventListener和attachEvent的区别?Attachevent—与IE7、IE8兼容;与firebox、chrome、IE9、ie10、ie11、Safari、opera不兼容addeventlistener—与fi

  10. 10 ios安装mac应用 苹果手机的杀后台情况是怎么回事?

    苹果手机的杀后台情况是怎么回事?谢谢。欢迎关注黑桃,与小编交流互动。苹果手机系统一直以来都有流畅无卡的良好口碑,这与IOS的运行机制有很大关系。首先是用户优先级响应机制,即当用户想要操作时,他会得到最高级别的响应,这会让用户感觉非常快。其次

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图