Leecode: Kth Largest Element in an Array(JS解答)
解题思路:先通过快排排序,然后从后向前遍历,获取所求值,快排解法可以去本人博客算法一栏中找到相应介绍
function findKthLargest(nums: number[], k: number): number {
quickSort(nums,0,nums.length-1);
for(var i=nums.length-1; i >=0;i--){
k--;
if(k == 0) {
return nums[i];
}
}
};
function quickSort(arrs:number[],start:number,end:number) {
if(start > end) return;
var i:number = start;
var j:number = end;
var pivot:number = arrs[start];
while(i != j){
while(arrs[j] >= pivot && j > i) j--;
while(arrs[i] <= pivot && i < j) i++;
if(i < j){
swaper(i,j,arrs);
}
}
arrs[start] = arrs[i];
arrs[i] = pivot;
quickSort(arrs,start,i-1);
quickSort(arrs,i+1,end);
return;
}
function swaper(i:number,j:number,arr:number[]) {
var temp:number = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}