The One day 中位数的计算
- """
- 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。
- 例如,
- [2,3,4] 的中位数是 3
- [2,3] 的中位数是 (2 + 3) / 2 = 2.5
- 设计一个支持以下两种操作的数据结构:
- void addNum(int num) - 从数据流中添加一个整数到数据结构中。
- double findMedian() - 返回目前所有元素的中位数。
- 来源:力扣(LeetCode)
- 链接:https://leetcode-cn.com/problems/find-median-from-data-stream
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
- """
- """
- author :jiyanjiao
- date : 2019-10-21
- """
- class MedianFinder:
- nuber_list = []
- sum = 0
- def __init__(self):
- """
- initialize your data structure here.
- """
- def addNum(self, num: int) -> None:
- self.nuber_list.append(num)
- def findMedian(self) -> float:
- nb = self.nuber_list
- oder_list = []
- le = len(nb)
- if le <=1:
- raise Exception("中位数至少需要两位数")
- for i in range(0, le):
- for j in range(i+1, le):
- if nb[j] < nb[i]:
- tmp = nb[i]
- nb[i] = nb[j]
- nb[j] = tmp
- oder_list.append(nb[i])
- print(nb[i])
- i += 1
- oder_le = len(oder_list)
- if oder_le % 2 == 0:
- m1 = (oder_list[int(oder_le/2)]+oder_list[int(oder_le/2)-1])/2
- else:
- m1 = oder_list[int(oder_le/2)]
- print(m1)
- return m1
- # Your MedianFinder object will be instantiated and called as such:
- if __name__ == '__main__':
- obj = MedianFinder()
- obj.addNum(1)
- obj.addNum(2)
- obj.addNum(4)
- obj.addNum(3)
- obj.addNum(5)
- param_2 = obj.findMedian()
The One day 中位数的计算的更多相关文章
- C#计算数组的算术平均数、几何平均数、调和平均数、平方平均数和中位数
1.函数实现 0)打印数组 /// <summary> /// 打印数组 /// </summary> /// <param name="arr"&g ...
- 【贪心+中位数】【UVa 11300】 分金币
(解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一 ...
- 中位数+暴力——cf433C
/* 中位数到所有数的距离之和最小 因为只能改一个数,所以我们找一个数,将其改为和其相邻的数的中位数,使答案最小 先求一次原答案 把每个数相邻的数用vector存下来,然后排序找中位数,计算减小的量 ...
- \(\S1\) 描述性统计
在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...
- UESTC_秋实大哥与妹纸 2015 UESTC Training for Data Structures<Problem F>
F - 秋实大哥与妹纸 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 1500/1500KB (Java/Others) Submit ...
- 一个"Median Maintenance"问题
题目要求: Download the text file here. The goal of this problem is to implement the "Median Mainten ...
- R语言︱异常值检验、离群点分析、异常值处理
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:异常值处理一般分为以下几个步骤:异常 ...
- matlab 常用函数
Matlab常用函数 Matlab的内部常数 eps 浮点相对精度 pi 圆周率 exp 自然对数的底数e i 或j 虚数单位 Inf或 inf 无穷大 Matlab概率密度函数 ...
- LFYZ-OJ ID: 1017 士兵站队问题
分析 该题和"输油管道问题"类似,只不过由一维问题编程了二维问题.可以将总步数分解为移动到水平线y位置的总步数ysteps和移动到序列x, x+1, x+2, ... , x+n- ...
随机推荐
- linux jar/war包 后台运行
1. 基础版,当前ssh窗口锁定,按CTRL+C打断程序运行:或关闭窗口,程序退出 java -jar flowable-modeler.war 2. 改进版,当前ssh窗口不锁定,窗口关闭时,程序终 ...
- maven 左边空了
看一下maven: 解决方法:进入maven的配置,把maven的路径配置一下,就好了: 结果:
- 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 ...
- vue的跳转方式(打开新页面)及传参
1. router-link跳转 // 直接写上跳转的地址 <router-link to="/detail/one"> <span class="sp ...
- Refused to execute script from '...' because its MIME type ('') is not executable, and strict MIME type checking is enabled.
写在前面 部署项目到weblogic上启动首页访问空白, 浏览器控制台报如题错误. web.xml中把响应头添加防止攻击的报文过滤器禁用就行了(仅仅是为了启动), 以下为转载内容, 可以根据需要自行测 ...
- linux中高并发socket最大连接数的优化详解
linux中高并发socket最大连接数的优化详解 https://m.jb51.net/article/106546.htm?from=singlemessage
- sessionid 特性
本文为博主原创,转载请注明出处: sessionid 是服务器用来辨别客户端浏览器身份的号码,就像人的身份证一样.当用户第一次访问网站时,服务器会分配一个独一无二的 sessionid 给用户浏览器: ...
- 003-Python3-基础语法-运行方式、代码基础要求、运算符[算数运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符]、运算符优先级
一.基础语法 参看地址:https://www.runoob.com/python3/python3-tutorial.html 1.1.运行方式 1.文件方式 编写一个hello.py文件, pri ...
- 使用leaflet绘制geoJson中国边界
绘制中国边界 代码如下: function drawChina() { //设置样式 var myStyle = { "color": "#00f", &quo ...
- Java中遍历ConcurrentHashMap的四种方式
//方式一:在for-each循环中使用entries来遍历 System.out.println("方式一:在for-each循环中使用entries来遍历"); for(Map ...