剑指Offer:数据流中的中位数
来源:互联网 发布:c语言中标识符是什么 编辑:程序博客网 时间:2024/05/16 19:31
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
看别人用两个堆,一个最大堆,一个最小堆,说的挺在理,其实理解起来也不难,
下面呢提供一种简单粗暴的方法,但是如果细细探究其时间复杂度,其实是O(n),但排序用的是内建函数,真实运行速度比较快,话不多说,上代码吧
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.res = [] def Insert(self, num): # write code here self.res.append(num) def GetMedian(self, x): # write code here self.res.sort() length = len(self.res) if length % 2 == 0: return (self.res[length/2-1] + self.res[length/2])/2.0 else: return self.res[length/2]
阅读全文
0 0
- 剑指offer--数据流中的中位数
- 《剑指offer》数据流中的中位数
- 剑指offer:数据流中的中位数
- 剑指offer-数据流中的中位数
- 剑指offer 数据流中的中位数
- 《剑指offer》数据流中的中位数
- 剑指Offer:数据流中的中位数
- 剑指offer-数据流中的中位数
- 剑指offer 数据流中的中位数
- 剑指offer 64-数据流中的中位数
- 剑指offer—数据流中的中位数
- 剑指offer(六十三)之数据流中的中位数
- 剑指offer——数据流中的中位数
- 《剑指offer》:[64]数据流中的中位数
- 剑指offer(60)-数据流中的中位数
- 剑指Offer--064-数据流中的中位数
- 剑指offer-63.数据流中的中位数
- 【剑指offer】题64:数据流中的中位数
- Java 类和对象基础知识
- oracle易错点记录
- Android的一些干货以及Android Studio的一些实用小技巧(持续更新)
- Spring 配置文件
- 欢迎使用CSDN-markdown编辑器
- 剑指Offer:数据流中的中位数
- 基于Gitlab CI搭建持续集成环境
- java基础之分支与循环语句
- HDU 1297
- 2016至2017年上半年iOS项目细节(2)
- 解决百度地图使用出现的has leaked ServiceConnection com.baidu.location.b@4aa5a810 that was originally bound here
- 做设计迷茫时怎么办
- HTML5_对象-雪花-PK-封装-继承-原型
- javascript的阻止默认事件和阻止冒泡事件