"""中位數是有序列表中間的數。如果列表長度是偶數,中位數則是中間兩個數的平均值。
例如,[2,3,4] 的中位數是 3
[2,3] 的中位數是 (2 + 3) / 2 = 2.5
設計乙個支援以下兩種操作的資料結構:
void addnum(int num) - 從資料流中新增乙個整數到資料結構中。
double findmedian() - 返回目前所有元素的中位數。
""""""
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:
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] tmp =nb[i]
nb[i] =nb[j]
nb[j] =tmp
(nb[i])
i += 1oder_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)]
(m1)
returnm1#
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()
中位數的中位數
參照王曉東的演算法設計 中位數的中位數,即將一串數分成n段,求其排好序了的中間那個數,再把這些所有中位數再求一次中位數。for int i 0 i r p 4 5 i 找中位數的中位數,r p 4即上面所說的n 5 int x lineselect a,p,p r p 4 5,r p 4 10 線性...
SQL計算中位數
表還是total sales新增一項 表 sql語句 select from select a1.name,a1.sales,count a2.sales sales rank from total sales a1,total sales a2 where a1.sales a2.sales or...
演算法 中位數計算
中位數 median 1 定義 一組資料按從小到大 或從大到小 的順序依次排列,處在中間位置的乙個數 或最中間兩個資料的平均數,注意 和眾數不同,中位數不一定在這組資料中 注 當個數為基數時,取最中間位置的數 當個數為偶數時,取最中間兩個數的平均數。2 從小到大排序,可以先用氣泡排序,然後取中位數,...