您好,登錄后才能下訂單哦!
【題目描述】
Find K-th largest element in an array.
Notice:You can swap elements in the array
在數組中找到第k大的元素
注意:你可以交換數組中的元素的位置
【題目鏈接】
http://www.lintcode.com/en/problem/kth-largest-element/
【題目解析】
sort的方法:一開始看到這道題肯定覺得很簡單,只要sort一下,然后return特定index的value就可以了,但是sort的time complexity至少是O(nlogn)
Quick Select:這個是由quick sort演化而來,用到了partition的部分,每次選一個pivot,小于它的放左邊,大于它的放右邊。
用Quick Sort的divide-and-conquer法,或者用Priority Queue (Max Heap) 數據結構,注意Java和Python都是最小堆,需要轉換一下。
【題目答案】
http://www.jiuzhang.com/solutions/kth-largest-element/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。