问题:
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.
Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
Subscribe to see which companies asked this question.
其实是个相当简单的题目。可以用sort函数直接对vector进行排序再输出。不过可以的话,将来想试试用分治算法解决。
我用了个蠢方法,把vector里的数全都放进一个新的数组里,然后对数组进行排序,最后输出第size-k个元素即可。其实完全没必要这么做,但大一大二时没好好练vector的操作,只能拿数组来玩玩了。
代码如下:
以上。