摘要: 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值 解题思路:分为两种情况,奇数取中间的数字,偶数取中间两个数的平均值。 使用两个堆来实现,左侧使用最大堆存 阅读全文
posted @ 2017-07-05 20:04 qqky 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 解题思路:使用中序遍历进行遍历,得到的就是按照顺序的,当遍历到第k个就输出即可。 1 /* 2 struct TreeNode { 3 int 阅读全文
posted @ 2017-07-05 20:03 qqky 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 解题思路:序列化的时候,遇到无子结点,则填#来占位;对于反序列化时,每次遇到#返回空 1 /* 2 struct TreeNode { 3 int val; 4 struct TreeNode *left; 5 struct TreeNode 阅读全文
posted @ 2017-07-05 20:02 qqky 阅读(137) 评论(0) 推荐(0) 编辑