LintCode第k大元素
题目描述
在数组中找到第 k 大的元素。
样例输入
n = 1, nums = [1,3,4,2]
n = 3, nums = [9,3,2,4,8]
样例输出
4
4
此题最好采用O(n)O(n)O(n)的时间复杂度的方法进行求解,即快排中的划分方法。经过一次划分,可以确定一个数在数组中的最终位置,如果它的坐标等于k - 1,那么它就是第k大的元素,否则根据情况选择左边或右边的区间。因为在O(n)O(n)O(n)的时间内将一个规模为nnn的问题简化为一个规模近似n/2n/2n/2
原创
2020-10-07 14:44:55 ·
144 阅读 ·
0 评论