1. """
  2. 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。
  3.  
  4. 例如,
  5.  
  6. [2,3,4] 的中位数是 3
  7.  
  8. [2,3] 的中位数是 (2 + 3) / 2 = 2.5
  9.  
  10. 设计一个支持以下两种操作的数据结构:
  11.  
  12. void addNum(int num) - 从数据流中添加一个整数到数据结构中。
  13. double findMedian() - 返回目前所有元素的中位数。
  14.  
  15. 来源:力扣(LeetCode)
  16. 链接:https://leetcode-cn.com/problems/find-median-from-data-stream
  17. 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
  18. """
  19. """
  20. author :jiyanjiao
  21. date : 2019-10-21
  22. """
  23.  
  24. class MedianFinder:
  25. nuber_list = []
  26. sum = 0
  27.  
  28. def __init__(self):
  29. """
  30. initialize your data structure here.
  31. """
  32.  
  33. def addNum(self, num: int) -> None:
  34. self.nuber_list.append(num)
  35.  
  36. def findMedian(self) -> float:
  37. nb = self.nuber_list
  38. oder_list = []
  39. le = len(nb)
  40. if le <=1:
  41. raise Exception("中位数至少需要两位数")
  42. for i in range(0, le):
  43. for j in range(i+1, le):
  44. if nb[j] < nb[i]:
  45. tmp = nb[i]
  46. nb[i] = nb[j]
  47. nb[j] = tmp
  48. oder_list.append(nb[i])
  49. print(nb[i])
  50. i += 1
  51. oder_le = len(oder_list)
  52. if oder_le % 2 == 0:
  53. m1 = (oder_list[int(oder_le/2)]+oder_list[int(oder_le/2)-1])/2
  54. else:
  55. m1 = oder_list[int(oder_le/2)]
  56. print(m1)
  57. return m1
  58.  
  59. # Your MedianFinder object will be instantiated and called as such:
  60. if __name__ == '__main__':
  61.  
  62. obj = MedianFinder()
  63. obj.addNum(1)
  64. obj.addNum(2)
  65. obj.addNum(4)
  66. obj.addNum(3)
  67. obj.addNum(5)
  68. param_2 = obj.findMedian()

The One day 中位数的计算的更多相关文章

  1. C#计算数组的算术平均数、几何平均数、调和平均数、平方平均数和中位数

    1.函数实现 0)打印数组 /// <summary> /// 打印数组 /// </summary> /// <param name="arr"&g ...

  2. 【贪心+中位数】【UVa 11300】 分金币

    (解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一 ...

  3. 中位数+暴力——cf433C

    /* 中位数到所有数的距离之和最小 因为只能改一个数,所以我们找一个数,将其改为和其相邻的数的中位数,使答案最小 先求一次原答案 把每个数相邻的数用vector存下来,然后排序找中位数,计算减小的量 ...

  4. \(\S1\) 描述性统计

    在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...

  5. UESTC_秋实大哥与妹纸 2015 UESTC Training for Data Structures<Problem F>

    F - 秋实大哥与妹纸 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 1500/1500KB (Java/Others) Submit ...

  6. 一个"Median Maintenance"问题

    题目要求: Download the text file here. The goal of this problem is to implement the "Median Mainten ...

  7. R语言︱异常值检验、离群点分析、异常值处理

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:异常值处理一般分为以下几个步骤:异常 ...

  8. matlab 常用函数

    Matlab常用函数 Matlab的内部常数  eps   浮点相对精度  pi  圆周率  exp  自然对数的底数e  i 或j  虚数单位  Inf或 inf  无穷大 Matlab概率密度函数 ...

  9. LFYZ-OJ ID: 1017 士兵站队问题

    分析 该题和"输油管道问题"类似,只不过由一维问题编程了二维问题.可以将总步数分解为移动到水平线y位置的总步数ysteps和移动到序列x, x+1, x+2, ... , x+n- ...

随机推荐

  1. linux jar/war包 后台运行

    1. 基础版,当前ssh窗口锁定,按CTRL+C打断程序运行:或关闭窗口,程序退出 java -jar flowable-modeler.war 2. 改进版,当前ssh窗口不锁定,窗口关闭时,程序终 ...

  2. maven 左边空了

    看一下maven: 解决方法:进入maven的配置,把maven的路径配置一下,就好了: 结果:

  3. How To Wake Up at 5 A.M. Every Day

    How To Wake Up at 5 A.M. Every Day For the past 3 months, I’ve successfully transitioned into being ...

  4. vue的跳转方式(打开新页面)及传参

    1. router-link跳转 // 直接写上跳转的地址 <router-link to="/detail/one"> <span class="sp ...

  5. Refused to execute script from '...' because its MIME type ('') is not executable, and strict MIME type checking is enabled.

    写在前面 部署项目到weblogic上启动首页访问空白, 浏览器控制台报如题错误. web.xml中把响应头添加防止攻击的报文过滤器禁用就行了(仅仅是为了启动), 以下为转载内容, 可以根据需要自行测 ...

  6. linux中高并发socket最大连接数的优化详解

    linux中高并发socket最大连接数的优化详解 https://m.jb51.net/article/106546.htm?from=singlemessage

  7. sessionid 特性

    本文为博主原创,转载请注明出处: sessionid 是服务器用来辨别客户端浏览器身份的号码,就像人的身份证一样.当用户第一次访问网站时,服务器会分配一个独一无二的 sessionid 给用户浏览器: ...

  8. 003-Python3-基础语法-运行方式、代码基础要求、运算符[算数运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符]、运算符优先级

    一.基础语法 参看地址:https://www.runoob.com/python3/python3-tutorial.html 1.1.运行方式 1.文件方式 编写一个hello.py文件, pri ...

  9. 使用leaflet绘制geoJson中国边界

    绘制中国边界 代码如下: function drawChina() { //设置样式 var myStyle = { "color": "#00f", &quo ...

  10. Java中遍历ConcurrentHashMap的四种方式

    //方式一:在for-each循环中使用entries来遍历 System.out.println("方式一:在for-each循环中使用entries来遍历"); for(Map ...