第39天。
今天的题目是Kth Largest Element in an Array:
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example, Given [3,2,1,5,6,4] and k = 2, return 5.
Note: You may assume k is always valid, 1 ≤ k ≤ array’s length.
简单的做法就是先对无序的数组进行倒序排序,然后返回nums[k-1]
即可。
时间复杂度是O(nlog(n))
.然后是利用partition
的方法:
显然和上面快排的方法一样时间复杂度都是O(nlogn)
.
然后是在dicuss
中看到的用堆排的方法:
还有用STL
中priority_queue
的: