fromtypingimportListimportrandomclassSolution:deffindKthLargest(self,nums:List[int],k:int)->int:# 将问题转化为寻找第n-k个最小元素k=len(nums)-kdefquickSelect(l,r):pivot,p=nums[r],l# 将小于等于pivot的元素移动到左侧foriinrange(l,r):ifnums[i]<=pivot:nums[p],nums[i]=nums[i],nums[p...
目前来讲Solution 1应该是最优的啦。 http://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/ http://www.quora.com/What-is-the-most-efficient-algorithm-to-find-the-kth-smallest-element-in-an-array-having-n-elements GITHUB: https://github.com/yuzhangcmu/LeetCode_algorithm/bl...
Runtime: 16 ms, faster than 83.56% of C++ online submissions for Kth Largest Element in an Array. Memory Usage: 10.7 MB, less than 9.59% of C++ online submissions for Kth Largest Element in an Array. 复习了一下priority queue的用法: pq可以pop可以push,可以top输出当前最大。 pq可以用指针初...