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

Find the **k**th 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 = 2Output:5

**Example 2:**

Input:`[3,2,3,1,2,4,5,5,6]`

and k = 4Output: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 **k**th element.

Second is not hard too, first I build a max-heap, then output the **k**th 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.