Kth Largest Element in an Array

Medium Searching & Sorting
Find the kth largest element in an unsorted array.

Sample input

[3, 2, 1, 5, 6, 4], k = 2

Sample output

5

Solution

def find_kth_largest(nums, k):
    nums.sort(reverse=True)
    return nums[k - 1]

print(find_kth_largest([3, 2, 1, 5, 6, 4], 2))
function findKthLargest(nums, k) {
  nums.sort((a, b) => b - a);
  return nums[k - 1];
}

console.log(findKthLargest([3, 2, 1, 5, 6, 4], 2));
import java.util.Arrays;
import java.util.Collections;

public class Main {
    static int findKthLargest(Integer[] nums, int k) {
        Arrays.sort(nums, Collections.reverseOrder());
        return nums[k - 1];
    }

    public static void main(String[] args) {
        Integer[] nums = {3, 2, 1, 5, 6, 4};
        System.out.println(findKthLargest(nums, 2));
    }
}
fun findKthLargest(nums: IntArray, k: Int): Int {
    return nums.sortedDescending()[k - 1]
}

fun main() {
    println(findKthLargest(intArrayOf(3, 2, 1, 5, 6, 4), 2))
}
func findKthLargest(_ nums: [Int], _ k: Int) -> Int {
    let sortedNums = nums.sorted(by: >)
    return sortedNums[k - 1]
}

print(findKthLargest([3, 2, 1, 5, 6, 4], 2))
int findKthLargest(List<int> nums, int k) {
  nums.sort((a, b) => b - a);
  return nums[k - 1];
}

void main() {
  print(findKthLargest([3, 2, 1, 5, 6, 4], 2));
}
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;

int findKthLargest(vector<int> nums, int k) {
    sort(nums.begin(), nums.end(), greater<int>());
    return nums[k - 1];
}

int main() {
    cout << findKthLargest({3, 2, 1, 5, 6, 4}, 2) << endl;
    return 0;
}
#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a, const void *b) {
    return (*(const int *) b) - (*(const int *) a);
}

int main() {
    int nums[] = {3, 2, 1, 5, 6, 4};
    int n = 6, k = 2;
    qsort(nums, n, sizeof(int), cmp);
    printf("%d\n", nums[k - 1]);
    return 0;
}