关注
这题应该是用快排的思想:例如找49个元素里面第24大的元素,那么按如下步骤: 1.进行一次快排(将大的元素放在前半段,小的元素放在后半段),假设得到的中轴为p 2.判断 p - low + 1 == k ,如果成立,直接输出a[p],(因为前半段有k - 1个大于a[p]的元素,故a[p]为第K大的元素) 3.如果 p - low + 1 > k, 则第k大的元素在前半段,此时更新high = p - 1,继续进行步骤1 4.如果p - low + 1 < k, 则第k大的元素在后半段, 此时更新low = p + 1, 且 k = k - (p - low + 1),继续步骤1. 由于常规快排要得到整体有序的数组,而此方法每次可以去掉“一半”的元素,故实际的复杂度不是o(nlgn), 而是o(n)。
点赞
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 考研对你找工作产生了哪些影响? #
11107次浏览 119人参与
# 找实习你看重大厂光环还是业务方向 #
5276次浏览 48人参与
# 聊聊这家公司值得去吗 #
250044次浏览 2306人参与
# 摸鱼被leader发现了怎么办 #
57592次浏览 342人参与
# 职场捅娄子大赛 #
365484次浏览 3746人参与
# 大家实习每天都在干啥 #
81004次浏览 499人参与
# 实习想申请秋招offer,能不能argue薪资 #
139664次浏览 889人参与
# 我是XXX,请攻击我最薄弱的地方 #
28222次浏览 278人参与
# 打杂的实习你会去吗? #
110754次浏览 966人参与
# kpi面有什么特征 #
38977次浏览 320人参与
# 机械人晒出你的简历 #
76072次浏览 635人参与
# 我发现一个规律 #
7978次浏览 70人参与
# 电信求职进展汇总 #
9259次浏览 79人参与
# 你有哪些缓解焦虑的方法? #
6669次浏览 230人参与
# 海康威视求职进展 #
79087次浏览 457人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
112013次浏览 1114人参与
# 为了找工作你投递了多少公司? #
16155次浏览 239人参与
# 校招第一份工作你干了多久? #
75310次浏览 367人参与
# 机械只有读研才有出路吗? #
20172次浏览 230人参与
# 硬件开发岗知多少 #
11441次浏览 116人参与