面试41题:

题目:数据流中的中位数

题:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。

解题思路一:直接法,排序后求中位数

解题代码:

# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.array=[] def Insert(self, num):
# write code here
self.array.append(num)
self.array.sort()
def GetMedian(self,M):
# write code here
length=len(self.array)
if len(self.array)%2==1:
return self.array[length//2]
else:
return (self.array[length//2-1]+self.array[length//2])/2.0

解题思路二:使用最大堆、最小堆。

解题代码:略。(待补充)

最新文章

  1. AEAI HR_v1.5.2升级说明,开源人力资源管理系统
  2. java 获取文件列表,并按照文件名称排序
  3. Numeric Validation
  4. Java自带的keytool命令
  5. IOS 异步加载图片
  6. 基于HOOK和MMF的Windows密码渗透技术
  7. windows主线程等待子线程退出卡死问题
  8. (转) DockPanel 右键增加关闭,除此之外全部关闭的功能
  9. WebRTC VoiceEngine使用简单Demo
  10. Monthly update for Dynamics 365 for Operation
  11. Linux云计算运维-Redis
  12. File(File f, String child) File(String parent, String child)
  13. 添加ll命令
  14. Java错误:结束的字符文字
  15. asp.net mvc url应用
  16. python2.x 与 python3.x的区别
  17. 创建pod步骤
  18. 利用MATLAB截取一张复杂图片中想要的区域
  19. Resolve类中错误体系的处理
  20. Oracle中,如何查看FRA(Flashback Recovery Area)的利用率

热门文章

  1. bwlabel
  2. layui表格渲染中模板的使用举例
  3. 简单使用shell 自动打包,发布项目 脚本
  4. Swoole系列(二):安装
  5. python升级导致yum命令无法使用的解决
  6. Spring MVC单选按钮
  7. Fedora13下编译busybox-1.15.0出现can not find lcrypt错误
  8. HttpURLConnectionClient
  9. 在部署有OGG的数据库主机上打数据库patch遇到的问题libclntsh.so.11.1 active
  10. Android无线测试之—UiAutomator UiDevice API介绍七