# 215.KthLargestElementinanArray
// https://leetcode-cn.com/problems/kth-largest-element-in-an-array/
/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
var findKthLargest = function (nums, k) {
var smaller = [];
var larger = [];
var pivot = nums[parseInt(nums.length / 2)];
var pivotCnt = 0;
for (var i = 0; i < nums.length; i++) {
var num = nums[i];
if (num > pivot) {
larger.push(num);
} else if (num < pivot) {
smaller.push(num);
} else {
// maybe multiple equal elements
pivotCnt++;
}
}
if (k <= larger.length) {
return findKthLargest(larger, k);
} else if (k - larger.length - pivotCnt <= 0) {
return pivot;
} else {
return findKthLargest(smaller, k - larger.length - pivotCnt);
}
};