![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode_堆
上班路上听歌曲
纸上得来终觉浅,绝知此事要躬行。
展开
-
leetcode295数据流的中位数_优先队列,简单很多。python 代码+思路
""" 优先队列做了一个动态的变化: 如果总个数为偶数,那么插入新元素经历 最大堆 → 最小堆 → 最大堆 如果总个数为奇数,那么插入新元素经历 最大堆 → 最小堆 即可 总之保证 最大堆比最小堆个数相等或者多一个 别人的解释: 为了找到添加新数据以后,数据流的中位数,我们让这个新数据在大顶堆和小顶堆中都走了一遍。 而为了让大顶堆的元素多 1 个,我们让从小顶堆中又拿出一个元素“送回”给大顶堆...原创 2020-03-10 02:26:24 · 370 阅读 · 0 评论 -
leetcode295数据流的中位数,python 代码+思路
""" 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据流中添加一个整数到数据结构中。 double findMedian() - 返回目前所有元素的中位数。 示例: add...原创 2020-03-10 02:04:46 · 369 阅读 · 0 评论 -
leetcode215数组中的第K个最大元素,python 代码+思路
""" 在未排序的数组中找到第 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 ≤ k ≤ 数组的长度。 """ ''' 思考: 创...原创 2020-03-09 23:47:08 · 418 阅读 · 0 评论