首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
01-11 08:37
清华大学 Java
java手撕分享
有一次面试,面试官直接让我手撕一道经典题——两数之和。题目不复杂,但要求我当场写出思路清晰、可运行的Java代码。我先说了解题思路:用 HashMap 存已经遍历过的数和下标,再一边遍历一边查找目标差值。写代码时我刻意放慢速度,把变量命名写清楚,同时不断口头解释时间复杂度和边界情况。代码写完后,面试官没有纠结细节,而是追问我为什么不用双重循环、HashMap 的空间开销是否能接受。那一刻我意识到,手撕代码考的不是你敲得有多快,而是你是否真正理解问题。这次经历让我明白,Java手撕题真正重要的是思路表达和基本功,而不是背模板。
查看3道真题和解析
点赞
评论
收藏
分享
01-15 14:17
西南大学 用户研究员
完美世界用研日常实习面经
依旧自我介绍未来规划如何平衡学习和任务还有一些校园经历深挖定性调研/定量调研更偏好哪一个用什么工具?访谈的用户如何选择?你想了解用户对于新职业看法,但来访情绪激烈,并没有回答新职业的问题,你该?玩过名下游戏吗好了其他忘了,问了蛮多校园经历挺意外
查看8道真题和解析
点赞
评论
收藏
分享
01-08 10:36
门头沟学院 Java
手撕还得是最长无重复子串
我觉得在我找日常实习,暑假实习和秋招的时候,最长无重复子串出现频率很高,基本上平均五个面试中都会出一道这个题,大部分出现在一面的时候,一面大部分考查基础知识,出这个题在合适不过啦,反正这个题也是简单到家,有时候面试官觉得你还不错,放水也爱出这个题嘿嘿
一人分享一道面试手撕题
点赞
评论
收藏
分享
01-07 19:19
韩山师范学院 C++
面了 5 家大厂,被问烂的一道手撕题:实现一个简易的线程池
计算机面试手撕题别只刷排序了!这道线程池实现题,我面字节、腾讯时都碰到过。核心是写任务队列 + 工作线程,用互斥锁保证队列安全,条件变量唤醒线程。一开始我没考虑任务结束的优雅退出,面试官直接指出漏洞。后来加了shutdown标志位,让线程能正常销毁。提醒大家,写的时候要讲清锁的作用和线程调度逻辑,光写代码不解释,等于白写!
一人分享一道面试手撕题
点赞
评论
收藏
分享
01-13 22:47
中国第一拖拖拉机集团有限公司拖拉机学院 Java
北京百度后端实习二面
2025年4月111.自我介绍2.在团队中的职责3.项目怎么思考和设计的4.遇到的最大问题5.有用过go吗6.能实习多久7.Redis和es的使用场景8.用到了redis的什么类型9.手撕:快排(14分钟,没撕完,G)10.反问(不足-“你觉得你有什么不足*n”)下午6点电话oc,开启暑期实习
查看10道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
美团50亿收购叮咚买菜,校招HC会变多吗
3223
2
...
阿里社招一面
3197
3
...
字节飞书测开日常oc,附上面经
2863
4
...
有了AI之后,程序员能不能干到65岁?
2676
5
...
AI大模型从业者聊Agent:附上学习路径
2398
6
...
字节日常实习三面 (已oc)
2383
7
...
为什么说Java+langchain4j/spring AI依旧是传统后端
2055
8
...
测开前景
2050
9
...
腾讯2026技术提前批后台开发一面
1948
10
...
字节的offer流程需要多久
1891
创作者周榜
更多
正在热议
更多
#
在大厂上班是一种什么样的体验
#
10526次浏览
132人参与
#
你认为工作的意义是什么
#
249161次浏览
1498人参与
#
程序员找工作至少要刷多少题?
#
18243次浏览
246人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
4475次浏览
147人参与
#
我现在比当时_,你想录用我吗
#
8613次浏览
111人参与
#
机械人避雷的岗位/公司
#
43343次浏览
298人参与
#
一张图晒一下你的AI员工
#
4971次浏览
114人参与
#
论秋招对个人心气的改变
#
10709次浏览
154人参与
#
关于春招/暑期实习,你想知道哪些信息?
#
7364次浏览
119人参与
#
刚入职的你踩过哪些坑
#
6722次浏览
127人参与
#
AI Coding的使用心得
#
4566次浏览
101人参与
#
晒晒你司的新年福利
#
8392次浏览
105人参与
#
牛客AI体验站
#
6666次浏览
185人参与
#
12306一秒售罄,你抢到回家的票了吗?
#
1910次浏览
47人参与
#
柠檬微趣工作体验
#
14763次浏览
83人参与
#
总结:哪家公司面试体验感最差
#
92968次浏览
430人参与
#
程序员能干到多少岁?
#
8511次浏览
115人参与
#
你认为小厂实习有用吗?
#
118005次浏览
679人参与
#
互联网公司评价
#
485544次浏览
4109人参与
#
应届生进小公司有什么影响吗
#
118252次浏览
1159人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务