码迷,mamicode.com
首页 > 其他好文 > 详细

Lintcode5 Kth Largest Element solution 题解

时间:2017-04-13 15:42:51      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:complexity   solution   elements   return   java   

【题目描述】

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/


Lintcode5 Kth Largest Element solution 题解

标签:complexity   solution   elements   return   java   

原文地址:http://12799252.blog.51cto.com/12789252/1915532

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!