首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客8028856号
2017-08-12 22:03
北京理工大学
关注
已关注
取消关注
100w个数中找出最大的100个数
100w个数中找出最大的100个数,求最优解
提示
全部评论
推荐
最新
楼层
鸣月my
华为_消费者云服务部_软件开发工程师
1. 算法如下:根据快速排序划分的思想 (1) 递归对所有数据分成[a,b)b(b,d]两个区间,(b,d]区间内的数都是大于[a,b)区间内的数 (2) 对(b,d]重复(1)操作,直到最右边的区间个数小于100个。注意[a,b)区间不用划分 (3) 返回上一个区间,并返回此区间的数字数目。接着方法仍然是对上一区间的左边进行划分,分为[a2,b2)b2(b2,d2]两个区间,取(b2,d2]区间。如果个数不够,继续(3)操作,如果个数超过100的就重复1操作,直到最后右边只有100个数为止。 2.先取出前100个数,维护一个100个数的最小堆,遍历一遍剩余的元素,在此过程中维护堆就可以了。具体步骤如下: step1:取前m个元素(例如m=100),建立一个小顶堆。保持一个小顶堆得性质的步骤,运行时间为O(lgm);建立一个小顶堆运行时间为m*O(lgm)=O(m lgm); step2:顺序读取后续元素,直到结束。每次读取一个元素,如果该元素比堆顶元素小,直接丢弃 如果大于堆顶元素,则用该元素替换堆顶元素,然后保持最小堆性质。最坏情况是每次都需要替换掉堆顶的最小元素,因此需要维护堆的代价为(N-m)*O(lgm); 最后这个堆中的元素就是前最大的10W个。时间复杂度为O(N lgm)。 3.分块查找 先把100w个数分成100份,每份1w个数。先分别找出每1w个数里面的最大的数,然后比较。找出100个最大的数中的最大的数和最小的数,取最大数的这组的第二大的数,与最小的数比较。。。。
点赞
回复
分享
发布于 2017-08-12 22:41
已注销
建立一个最小堆,一个一个过数据。
点赞
回复
分享
发布于 2017-08-12 22:06
农药有毒
暨南大学番禺校区 Java
http://blog.csdn.net/cslbupt/article/details/65935577
点赞
回复
分享
发布于 2017-08-12 23:08
牛客652748021号
华南理工大学 安卓
快排
点赞
回复
分享
发布于 2020-03-05 20:19
rogn
武汉大学 C++
冒泡100次,复杂度1e8,一般的电脑不要1s吧
点赞
回复
分享
发布于 2020-03-05 20:16
Senix
苏州大学 Java
TopK问题
点赞
回复
分享
发布于 2017-08-13 10:01
微信公众号JavaQ
东北大学 Java
切分、排序、合并排序
点赞
回复
分享
发布于 2017-08-13 07:59
你群最蠢
南京大学 前端工程师
最小堆或者快排吧
点赞
回复
分享
发布于 2017-08-12 23:51
zhaoyang253
天津大学 C++
BFPRT算法
点赞
回复
分享
发布于 2017-08-12 23:11
晚安丶胖不啦叽
华中科技大学 C++
最小堆 nlogk
点赞
回复
分享
发布于 2017-08-12 22:26
Waitibg
大连外国语大学 Java
TopK问题
点赞
回复
分享
发布于 2017-08-12 22:22
兄弟找我内推呗
字节跳动_UG_算法
100w个数内存可以放置,一般堆排100个没问题啊
点赞
回复
分享
发布于 2017-08-12 22:08
牛客1288965444
北京语言大学 Java
按一个数4字节,100万个数也就4m大小,直接小顶堆
点赞
回复
分享
发布于 2017-08-12 22:06
暂无评论,快来抢首评~
相关推荐
2025-12-30 15:54
柠檬微趣_数据库内核测试工程师(准入职员工)
柠檬微趣内推,柠檬微趣内推码
面经:暑假投递,面试时间线拉的比较长自我介绍实习经历介绍问了我他们公司有什么产品,让我说一款的细节设置,以及和竞品的细节差异在这个游戏设计一个中秋节主题关卡,应该怎么设计,什么思路?现在的关卡设置有什么需要改进的地方?休闲游戏的目标客户群体?有什么理解?休闲游戏符合设置付费点?什么品类的游戏是经久不衰的?🍋【柠檬微趣26届秋招】火热开启!一周极速Offer,职等柠来!✔ 研发发行《宾果消消消》《浪漫餐厅》《梦幻旅行》等爆款手游✔ 中国手游发行商出海收入排行榜Top 5✔ 合成手游赛道全球收入No.1的发行商📍 工作地点:北京市西城区🔥 秋招亮点✅ 岗位全覆盖:游戏开发、数据分析、游戏策划...
点赞
评论
收藏
分享
昨天 15:28
已编辑
科大讯飞_教育BG_后端开发(准入职员工)
简历制作分享经验
首先要明确简历的核心要义 ——“简”。一份简历的篇幅控制在一到两页为佳,尤其需要注意的是,第一页是重中之重,必须优先呈现个人基本信息,同时提炼并突出自身的核心优势,让招聘方快速捕捉到你的亮点。然后推荐使用简历模板——全民简历简历亮点如下:学历(重点大学)实习经历(写实习内容的时候,需要量化的指标信息)可以维护一些个人总结,比如CSDN博客、飞书等可以证明自己确实学过的路程。项目(量化)个人简历分享如下:#有深度的简历长什么样?#
有深度的简历长什么样?
点赞
评论
收藏
分享
2025-11-21 13:40
门头沟学院 前端工程师
最后悔的一集
真是肠子都悔青了!以为有保底就手贱把经纬给拒了,结果没几天保底offer直接鸽了我。现在秋招都快结束了,工作还没着落,人直接裂开。
obbob:
你再不网暴这家公司我们可就要网暴你了
你秋招最后悔的选择
点赞
评论
收藏
分享
昨天 20:13
蚌埠坦克学院 嵌入式软件开发
嵌入式手撕题目分享
有一次嵌入式面试,面试官没有问太多八股文,直接给了一道现场手撕题。背景是设备需要统计状态寄存器中异常位的数量,本质就是统计一个 32 位寄存器里有多少个 bit 为 1。题目不难,但面试官强调两点:这是跑在单片机上的代码,效率要高,不能浪费算力。如果只会一位一位右移去数,很容易被追问有没有更优解。这道题考的不是能不能写出来,而是你平时有没有真正写过底层代码,是否对位运算和性能敏感。写完代码后,面试官还会继续追问在中断里用、在低功耗场景下用,有没有需要注意的地方。这种题目,很贴近真实嵌入式开发,也最容易拉开水平差距。
查看3道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
26
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
🔥2026创作新起点:《新年启航计划》来袭,三大赛道等你来冲!
1.8W
2
...
百度java一面 28届的第一次大厂面试 感觉g了
1.4W
3
...
一大波手撕正在靠近!
1.3W
4
...
拥抱人机共生,锻造不可替代的“金头脑”
4608
5
...
双非老鼠的悲惨秋招
4234
6
...
面试手撕题总结
3555
7
...
27前端鼠鼠快手二面
3448
8
...
塞翁失马,焉知非福
2860
9
...
腾讯游戏后端一面
2705
10
...
uu们,面试的时候一定要大大方方的啊!
2393
创作者周榜
更多
正在热议
更多
#
去年的flag与今年的小目标
#
1618次浏览
54人参与
#
应届生应该先就业还是先择业
#
160580次浏览
807人参与
#
26年哪些行业会变好/更差
#
2542次浏览
46人参与
#
哪些公司在招寒假实习?
#
1274次浏览
25人参与
#
你都用AI做什么
#
1812次浏览
55人参与
#
卷__卷不过你们,只能卷__了
#
1105次浏览
26人参与
#
有深度的简历长什么样?
#
4626次浏览
77人参与
#
写论文的崩溃时刻
#
1290次浏览
28人参与
#
入职第一天
#
3869次浏览
47人参与
#
秋招你被哪家公司挂了?
#
997952次浏览
7652人参与
#
这个工作能去吗
#
99380次浏览
613人参与
#
一人分享一道面试手撕题
#
7608次浏览
395人参与
#
你不能接受的企业文化有哪些
#
2436次浏览
54人参与
#
为什么国企只招应届生
#
227549次浏览
1273人参与
#
研究所VS国企,该如何选
#
236705次浏览
1965人参与
#
跳槽时有那些注意事项
#
117451次浏览
585人参与
#
小米求职进展汇总
#
997916次浏览
6501人参与
#
机械应届生薪资要多少才合适?
#
35341次浏览
106人参与
#
机械人的薪资开到多少,才适合去?
#
158221次浏览
553人参与
#
非技术岗薪资爆料
#
470865次浏览
3015人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务