Kth Largest Element in an Array
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;
}