python--查找数组第K大的数

这个问题应该是比较经典的,要求能在时间复杂度O(n)解决。python 最暴力的方法固然是先排个序,时间复杂度是O(nlogn),可是这样浪费了不少没必要要的计算。算法 O(n)的算法思想借鉴了快排的思想:数组 快速排序每次把一个元素交换到正确的位置,同时把左边的都放上大的,右边都放上小的。这个算法每一次选取一个枢纽元,排序以后,查看枢纽元的位置。若是它的位置大于K,就说明,要求出前面一个子序列的
相关文章
相关标签/搜索