2016年12月5日 星期一

[LeetCode] 215. Kth Largest Element in an Array

轉自 LeetCode

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.
<Solution>

最簡單的做法,就是先 sort,然後從後面找第K個就可以了

原本以為這樣不會過,但看起來時間還可以

code 如下
c++

kotlin

解法二

要找最大的數,就會想到用 max heap

題目說要第K大的,就 pop 掉前面 k-1 個

時間來說,比 sort 慢一點,時間複雜度是 O(KlogN)

code 如下
c++

kotlin

沒有留言:

張貼留言