給定整數陣列nums
和整數k
,請返回陣列中第**k**
個最大的元素。
請注意,你需要找的是陣列排序後的第k
個最大的元素,而不是第k
個不同的元素。
輸入: [3,2,1,5,6,4] 和 k = 2
輸出: 5
輸入: [3,2,3,1,2,4,5,5,6] 和 k = 4
輸出: 4
/**
* @param nums
* @param k
* @return
*/var findkthlargest = function(nums, k) )
// return nums[k-1]
//快速排序,找右側第k個位置
quicksort(0,nums.length-1,k)
return res
function quicksort(i,j,k)else
}//左邊指標向右移動,直到遇到大於tmp的,然後將其賦值到j的位置
while(i}
}//i的位置就是tmp的位置
nums[i]=tmp
//如果i剛好時當前陣列中倒數第k個
if(i==nums.length-k)
//遞迴呼叫左右兩邊
quicksort(origin_i,i-1,k)
quicksort(i+1,origin_j,k)
}};
LeetCode 215 陣列中的第K個最大元素
在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。示例 1 輸入 3,2,1,5,6,4 和 k 2 輸出 5 示例 2 輸入 3,2,3,1,2,4,5,5,6 和 k 4 輸出 4 說明 你可以假設 k 總是有效的,且 1...
LeetCode 215 陣列中的第K個最大元素
在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。示例 1 輸入 3,2,1,5,6,4 和 k 2 輸出 5 示例 2 輸入 3,2,3,1,2,4,5,5,6 和 k 4 輸出 4 說明 你可以假設 k 總是有效的,且 1...
Leetcode215 陣列中的第K個最大元素
在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。示例 1 輸入 3,2,1,5,6,4 和 k 2 輸出 5 示例 2 輸入 3,2,3,1,2,4,5,5,6 和 k 4 輸出 4 說明 你可以假設 k 總是有效的,且 1...