Lintcode5KthLargestElementsolution题解

【题目描述】

10余年的遂宁网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整遂宁建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“遂宁网站设计”,“遂宁网站推广”以来,每个客户项目都认真落实执行。

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/


当前标题:Lintcode5KthLargestElementsolution题解
网页URL:http://myzitong.com/article/gcceej.html