牛客(高频)--数组中的第K个最大元素
题目描述
返回数组中的第K个最大的元素。
解题思路
快速排序:主要思想就是通过划分将待排序的序列分成前后两部分,前一部分数据都比后一部分数据小,然后再递归调用函数对两部分序列进行快速排序,以便使整个序列达到有序。
划分函数需要一个分界值,然后再进行划分,可以采用随机的方式,即对于区间[l,r]中的数等概率随机一个作为主元,再将主元放到区间末尾,进行划分。
整个划分过程主要涉及两个指针i和j,一开始i=l-1,j=l,需要实时维护两个指针,使得任意的时候,对于任意数组下标k都有以下条件成立:
l≤k≤i 时
原创
2021-08-06 16:00:04 ·
188 阅读 ·
0 评论