Kth Largest Element in an Array

Kth Largest Element in an Array_第1张图片

这道题如果问的是Kth Largest Distinct的话怎么办? 我估计会使用一个set? 但是占用空间。 或者用指针。

Kth Largest Element in an Array_第2张图片

...妈的傻逼了。。。return nums[N - k] 就好了根本不需要loop。

然后再次没想到PriorityQueue。。。。


Kth Largest Element in an Array_第3张图片

最优解:

Quick Selection: 快速查找:

这个东西在我记忆里消失了。

Quick Select's average Time complexity is O(n), but the worst time complexity is O(n^2). I believe that there are some test cases testing the worst case, and random shuffle make these intended worst case no longer applicable.

Kth Largest Element in an Array_第4张图片



O(N)   使用Selection Sort. random the inputs 来average.

Kth Largest Element in an Array_第5张图片


Kth Largest Element in an Array_第6张图片

你可能感兴趣的:(Kth Largest Element in an Array)