剑指offer
TJH54
这个作者很懒,什么都没留下…
展开
-
剑指offer 数据流中的中位数
一、题目描述 如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。 如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 二、解题思路及代码 使用大根堆和小根堆实现 大根堆:堆顶结点的关键字是堆里所有结点关键字中最大者 小根堆:堆顶结点的关...原创 2020-02-19 14:10:28 · 130 阅读 · 0 评论 -
剑指offer 最小的K个数
题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 解题思路及代码 输出最小的k个数即使用可以保存最值的容器(堆),输出K次最值。 使用优先级队列PriorityQueue来实现 思路一 使用优先级队列建立小根堆,将数组中数字依次插入小根堆 最后循环k次,依次取出小根堆中的堆顶元素,这k个堆顶元素就是最小k个值 im...原创 2020-02-19 11:08:26 · 172 阅读 · 0 评论