LeetCode 215. Kth Largest Element in an Array [Heap] Java

Source: https://leetcode.com/problems/kth-largest-element-in-an-array/

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.

Example 1:

Input: [3,2,1,5,6,4] and k = 2
Output: 5

Example 2:

Input: [3,2,3,1,2,4,5,5,6] and k = 4
Output: 4

Note: 
You may assume k is always valid, 1 ≤ k ≤ array’s length.

I have two solutions.

First one is simple, just two lines, first sort, then output the kth element.

Second is not hard too, first I build a max-heap, then output the kth element. (codes about max-heap see this)

Github: https://github.com/tinyfool/leetcode/tree/master/src/p0215

Want to know more details of heap and heapsort, check my post:Heap and Heap-Sort algorithm.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.