关注
这题应该是用快排的思想:例如找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)。
点赞
相关推荐
牛客热帖
更多
正在热议
更多
# 一人说一个值得去的新能源公司 #
10381次浏览 56人参与
# 选择和努力,哪个更重要? #
96279次浏览 784人参与
# 度小满求职进展汇总 #
4179次浏览 33人参与
# 你的国庆怎么过 #
31166次浏览 290人参与
# 落户对你的求职选择影响有多大 #
23817次浏览 90人参与
# 水滴求职进展汇总 #
8971次浏览 54人参与
# 大学四年该怎么过,才不算浪费时间? #
8475次浏览 62人参与
# 豪迈求职进展汇总 #
19783次浏览 142人参与
# 实习学不到东西怎么办? #
254179次浏览 2473人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
106315次浏览 732人参与
# 25届嵌入式真的回暖了吗 #
39261次浏览 369人参与
# 辞职之后最想做的一件事 #
24496次浏览 232人参与
# 大学生该如何认清当下的就业环境? #
99845次浏览 607人参与
# 小厂实习有必要去吗 #
60158次浏览 302人参与
# 从顶到拉给所有面过的公司评分 #
58247次浏览 336人参与
# 十一假期一定要干的事 #
21130次浏览 151人参与
# 毕业论文怎么查AI率 #
58629次浏览 1925人参与
# HR问:你期望的薪资是多少?如何回答 #
55549次浏览 604人参与
# 宣讲会你有哪些意向不到的收获 #
11273次浏览 50人参与
# 工作压力大怎么缓解 #
110368次浏览 1075人参与