首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
牛客1288965444
北京语言大学 Java
按一个数4字节,100万个数也就4m大小,直接小顶堆
点赞
回复
分享
发布于 2017-08-12 22:06
兄弟找我内推呗
字节跳动_UG_算法
100w个数内存可以放置,一般堆排100个没问题啊
点赞
回复
分享
发布于 2017-08-12 22:08
Waitibg
大连外国语大学 Java
TopK问题
点赞
回复
分享
发布于 2017-08-12 22:22
晚安丶胖不啦叽
华中科技大学 C++
最小堆 nlogk
点赞
回复
分享
发布于 2017-08-12 22:26
zhaoyang253
天津大学 C++
BFPRT算法
点赞
回复
分享
发布于 2017-08-12 23:11
你群最蠢
南京大学 前端工程师
最小堆或者快排吧
点赞
回复
分享
发布于 2017-08-12 23:51
微信公众号JavaQ
东北大学 Java
切分、排序、合并排序
点赞
回复
分享
发布于 2017-08-13 07:59
Senix
苏州大学 Java
TopK问题
点赞
回复
分享
发布于 2017-08-13 10:01
rogn
武汉大学 C++
冒泡100次,复杂度1e8,一般的电脑不要1s吧
点赞
回复
分享
发布于 2020-03-05 20:16
牛客652748021号
华南理工大学 安卓
快排
点赞
回复
分享
发布于 2020-03-05 20:19
还没有回复哦~
相关推荐
11-23 09:59
华为_算法工程师
在华为不搞996,我们搞什么?
在华为不搞996,我们搞什么?本文原创首发于公众号:来知晓。楔子读者盆友们晚上好,欢迎来到来知晓。今晚咱们揭秘下之前在推文:华为加班有多“狠”?中埋的那个坑:一个让我每天灵感爆发,神清气爽的一个秘诀。正式开始之前,先问几个问题:你是否总感觉精力不够用?你是否总感觉想什么都抓,可什么都抓不住?你是否会偶尔觉得青春散场大学毕业后,从此生活缺乏许多乐趣?你是否总觉得自己总克服不了拖延,21年就快翻篇,却依然岁岁年年flag相似?如果你的回答大多是:Yes,你可能不是抑郁了,也许是跟我一样,并非缺乏上进的心,只是找不到使劲的力,把大部分精力都耗散在没有焦点的事物上了。下面我将分享个人历时两个多月亲身实...
凯文格拉汉姆:
转人工
点赞
评论
收藏
分享
11-22 16:10
北京邮电大学 银行其它
本科别学ai
坐标北邮ai,大四上学校硬排了五门专业课……学的多且杂,cv,nlp,语音,多模态,大模型,rag,数据库,计网,计原,c++,vue,js,python……
想去夏威夷的小哥哥在度假:
更重要的是学ai只有本科学历是找不到工作的,建议取消本科ai专业
选完offer后,你后悔学本专业吗
你觉得专业和学校哪个对薪资影响最大
点赞
评论
收藏
分享
10-11 17:45
门头沟学院 Java
请你不要扣扣
😅😅😅😅😅😅
走吗:
别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞
评论
收藏
分享
10-10 21:40
门头沟学院 前端工程师
你们出生产事故了?
哪个程序员要背绩效了?
Java抽象带篮子:
难蚌,点进图片上面就是我的大头😆
点赞
评论
收藏
分享
11-23 03:19
University of Miami Java
鹅厂怎么这么难啊....
n战腾子了,屡战屡败上一轮感觉面的没啥问题,手撕答的也比较丝滑,不知道为什么离谱
点赞
评论
收藏
分享
点赞成功,聊一聊 >
点赞
26
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
双非本科四年的总结
1.6W
2
...
sagima的阎良出差日记
1.3W
3
...
给正在秋招中枯燥的大家找个乐子听听吧,不被理解真的心寒
1.1W
4
...
简历这样写真的很难挂
9302
5
...
请大家警惕“总包”骗局!
5931
6
...
大哥爆发了?
3916
7
...
秋招可以暂告一个段落啦
3704
8
...
忙完了工作,又要毕业论文……
3528
9
...
领导让我以后别叫他哥
3368
10
...
有奖征集|我想知道,你在秋招中最难忘的一个瞬间
3185
正在热议
#
25届秋招总结
#
278193次浏览
2403人参与
#
如果实习可以转正,你会不会放弃秋招
#
206003次浏览
2807人参与
#
北方华创开奖
#
24493次浏览
263人参与
#
地方国企笔面经互助
#
3249次浏览
7人参与
#
学历or实习经历,哪个更重要
#
47280次浏览
368人参与
#
选完offer后,你后悔学本专业吗
#
16525次浏览
120人参与
#
如何一边实习一边秋招
#
989025次浏览
12623人参与
#
软开人,秋招你打算投哪些公司呢
#
41579次浏览
534人参与
#
数据人的面试交流地
#
436212次浏览
7811人参与
#
0offer是寒冬太冷还是我太菜
#
892528次浏览
7963人参与
#
得物求职进展汇总
#
64814次浏览
674人参与
#
求职遇到的搞笑事件
#
68967次浏览
571人参与
#
你觉得专业和学校哪个对薪资影响最大
#
28894次浏览
215人参与
#
查收我的offer竞争力报告
#
21184次浏览
263人参与
#
你最想要的公司福利是?
#
43391次浏览
160人参与
#
没有实习经历,还有机会进大厂吗
#
808852次浏览
13883人参与
#
来聊聊机械薪资天花板是哪家
#
67420次浏览
460人参与
#
当你面对裁员会如何?
#
26508次浏览
155人参与
#
一觉醒来,我觉醒了超级打工人系统
#
3605次浏览
37人参与
#
应届生被毁约被毁意向了怎么办
#
28822次浏览
246人参与
#
面试体验感最好的是哪家?
#
84153次浏览
822人参与
牛客网
牛客企业服务