摘要: 题目 在未排序的数组中找到第 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 交换 阅读全文
posted @ 2021-02-09 17:41 极客子羽 阅读(291) 评论(0) 推荐(0)
摘要: 解析Java源码之优先级队列 PriorityQueue。优先级队列的底层数据结构为“小根堆”。为了保持小根堆,常见的调整操作包括 siftUp 和 siftDown。siftUp 保证的是将元素 x 存放到位置 k,位置 k 之前的所有元素符合小根堆的性质。siftDown 是为了保证将元素 x 存放到位置 k 时,以 k 为“根节点”的子树符合小根堆的性质。 阅读全文
posted @ 2021-02-09 16:39 极客子羽 阅读(351) 评论(0) 推荐(0)