Introduction
Question:Kth Largest Element in an Array
Analysis
堆
要求解一个数组中第 k 个大的元素,我们可以把
简单来讲就是维护一个大小为k的最小堆。遍历整个数组,只有当堆中元素小于 k 或者当前元素大于堆顶元素(堆中最小值),讲堆顶元素替换成当前元素。这样遍历完数组后,堆中剩下的元素为原本数组中最大的 k 个,堆顶元素即为数组中第 k 个大的元素。
Quick Sort
在
Question:Kth Largest Element in an Array
要求解一个数组中第 k 个大的元素,我们可以把
简单来讲就是维护一个大小为k的最小堆。遍历整个数组,只有当堆中元素小于 k 或者当前元素大于堆顶元素(堆中最小值),讲堆顶元素替换成当前元素。这样遍历完数组后,堆中剩下的元素为原本数组中最大的 k 个,堆顶元素即为数组中第 k 个大的元素。
在