首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
wl1244hotmai
2016-09-12 21:29
南京邮电大学 Java
关注
已关注
取消关注
网易 前k个数,用快排还是堆排
快排的话,如果pivot>k 然后只要对(0,pivot)那部分做继续paddition。就变成klogk(对不对?……) 堆排的话,构造堆要logn(对不对?)。然后前k个要klogn。
提示
全部评论
推荐
最新
楼层
Love4ever
华中科技大学 Java
TOPK 问题一般就是 快排划分,以及,构建并维护一个大小为k的堆,这两种方法。。。
点赞
回复
分享
发布于 2016-09-13 13:55
一树小草
西安电子科大 C++
不完全快排O(n) 堆排序O(nlog(n)) 但是牛客网上原题答案是堆排 搞不懂
点赞
回复
分享
发布于 2016-09-13 12:37
一只补习的Fyu
左家垅男子职业技术学院 C工程师
呃,只能说用了快排和堆排的思想。快排的partion很难写到O(N), 维护一个k个数的大顶堆呢,空间小,复杂度O(nlogk),一般不会超时。
点赞
回复
分享
发布于 2016-09-13 12:23
cookShell
广东工业大学 C++
只用partition不用排序 复杂度O(n)的
点赞
回复
分享
发布于 2016-09-13 11:40
Evan100
东南大学 Java
题目感觉不明确,什么叫最方便(大致意思)?考虑角度不一样,这个方便意思不一样
点赞
回复
分享
发布于 2016-09-13 09:10
派派派大星
重庆大学 Java
partition O(n) 堆 O(nlogk)
点赞
回复
分享
发布于 2016-09-13 00:58
noMercy
交通大学 Java
堆排。
点赞
回复
分享
发布于 2016-09-12 23:25
加班的卡夫卡
阿里巴巴_l_开发工程师
题目说的数据量不小,所以我觉得还是用堆排序的好
点赞
回复
分享
发布于 2016-09-12 23:08
heda
清华大学 算法工程师
求最小的 k 个元素: 一、 所谓的快排实际上是 QuickSelect(k),通过分治的方式找到第 k 个数, 总时间复杂度 是 O(N) 的,因为前 K 个数不要求有序。 这个方法的主要优点是平均时间复杂度最小 ,如果用 BFPRT 算法,可以把最坏时间复杂度降到 O(N)。 二、 堆排序有两种: 建立大小为 N 的小根堆,出堆 K 次得到最小的 K 个数。 建堆是 O(N),出堆一次 O(logN), 总时间复杂度 O(N+KlogN); 建立大小为 K 的大根堆,如果下一个数比堆顶大就替换掉堆顶元素并维护堆性质,每次操作都是 O(logK),总时间复杂度 O(NlogK)。这个方法的主要优点是空间复杂度最小,如果假设 N 个数通过管道流式输入的话,这个方法的空间复杂度是 O(K);
点赞
回复
分享
发布于 2016-09-12 22:34
labmem
东南大学 Java
快排全部排序的话是O(nlogn) 堆排是O(nlogk) 我觉得是堆排
点赞
回复
分享
发布于 2016-09-12 22:23
哦、卡密撒嘛
山东科技大学 Java
快排O(n)的
点赞
回复
分享
发布于 2016-09-12 22:13
呵呵呵额
浙江大学 Java
这题好像是选快排吧,记得是个旧题目,但是也记不清答案了,因为快速排序是有办法降低最坏情况出现概率的,然后k是不定的,所以赶脚单选题就是考察快排的思想
点赞
回复
分享
发布于 2016-09-12 21:41
牛客303136号
西安电子科大 Java
其实你说的那个用到的只是快排的划分思想,但是并不需要用来进行排序
点赞
回复
分享
发布于 2016-09-12 21:36
牛客745124号
浙江大学
堆排
点赞
回复
分享
发布于 2016-09-12 21:32
wodeqiangne
浙江大学 Java
用堆排序,堆排序稳定nlogn
点赞
回复
分享
发布于 2016-09-12 21:30
暂无评论,快来抢首评~
相关推荐
12-10 23:42
广州大学 golang
比特鹰 Golang一面 45min
比特鹰 Golang 后端一面 45min 还好面试前搜了下牛客,面试题是有模板的,和之前看到的差不多 面试官态度挺好的,是个03的小哥 说实话一面题不算很难,没有场景题也不用手撕算法,但是有个脑经急转弯 1.怎么排查Linux服务异常 2.Goroutine调度原理,为什么那么轻量,有哪些泄露场景 3.说一下你对微服务的理解,有哪些常用组件 4.消息队列有什么作用,怎么解决重复消费和消息丢失 5.Docker Compose有什么用、 6.K8s有没有了解过(估计是有题目的,但我直接说没学过,面试官就没问了) 7.讲一下Redis的 RDB 和 AOF的优缺点、区别。 8.Redis有哪些淘...
查看12道真题和解析
点赞
评论
收藏
分享
今天 16:18
浙江大学 Java
MyISAM 与 InnoDB 有什么区别?如何选择?
图解数据库基础-牛客面经...
点赞
评论
收藏
分享
12-01 15:04
吉首大学 后端工程师
666亚信全挂
我说被亚信封杀了吗
冲鸭2024:
亚信不去也罢
投递亚信科技(中国)有限公司等公司6个岗位
点赞
评论
收藏
分享
今天 16:20
浙江大学 Java
如何实现数据库不停服迁移?
图解数据库基础-牛客面经...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
勇气与抉择
2.6W
2
...
2025年12月16日 多年之后 我又梦到那天
1.3W
3
...
拼多多开奖了
9736
4
...
双非本硕客户端总结/经验贴
6559
5
...
有些事真是只有工作了才知道。。
4541
6
...
被mt骂了怎么办
4283
7
...
单9机械结构硕的求职大结局
4184
8
...
关于双非找实习的一个暴论
4170
9
...
为什么上班这么痛苦?其实无非这四种内耗
4051
10
...
上班养生指南
3359
创作者周榜
更多
正在热议
更多
#
mt对你说过最有启发的一句话
#
12311次浏览
157人参与
#
打工人的精神状态
#
121047次浏览
1402人参与
#
秋招被挂春招仍然能投的公司
#
1897次浏览
25人参与
#
找工作有哪些冷知识
#
200731次浏览
2560人参与
#
什么是优秀的实习经历
#
2835次浏览
110人参与
#
市场营销人求职交流聚集地
#
165646次浏览
1227人参与
#
提前批过来人的忠告
#
142073次浏览
1326人参与
#
滴滴求职进展汇总
#
285989次浏览
2386人参与
#
携程求职进展汇总
#
830768次浏览
5318人参与
#
来聊聊你目前的求职进展
#
701627次浏览
6955人参与
#
职场新人体验
#
155028次浏览
1118人参与
#
今年秋招你收到了多少封邮件?
#
8764次浏览
131人参与
#
工作中遇到的歹人
#
12602次浏览
184人参与
#
考研失败就一定是坏事吗?
#
163821次浏览
1198人参与
#
秋招特别不鸣谢
#
5755次浏览
83人参与
#
摸鱼被leader发现了怎么办
#
80134次浏览
498人参与
#
选实习,你更看重哪方面?
#
5194次浏览
111人参与
#
被上班搭子“传染”了哪些习惯
#
2614次浏览
68人参与
#
重来一次,我还会选择这个专业吗
#
392563次浏览
3876人参与
#
实习简历求拷打
#
550次浏览
17人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务