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.
Given
Note:
You may assume k is always valid, 1 ≤ k ≤ array's length.
<Solution>You may assume k is always valid, 1 ≤ k ≤ array's length.
最簡單的做法,就是先 sort,然後從後面找第K個就可以了
原本以為這樣不會過,但看起來時間還可以
code 如下
c++
kotlin
解法二
要找最大的數,就會想到用 max heap
題目說要第K大的,就 pop 掉前面 k-1 個
時間來說,比 sort 慢一點,時間複雜度是 O(KlogN)
code 如下
c++
kotlin
沒有留言:
張貼留言