题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
题目:https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.s=[]
#self.res=[]
def Insert(self, num):#插入排序
if self.s==[]:
self.s.append(num)
else:#不用else的话,会把第一个数又加一次
i=0
while i<len(self.s):#用range逻辑的话,用个变量index=i记录一下下标
if num<=self.s[i]:
break
i=i+1
#如果num都没有小于self.s里面的数,说明它最大,要放在最后面
self.s.insert(i,num)#在对应位置插入num
def GetMedian(self):
n=len(self.s)
if len(self.s)%2==1:
med=self.s[n//2]
#self.res.append(med)
else:
med=(self.s[n//2]+self.s[n//2-1])/2
#self.res.append(med)
return med#self.res
腾讯成长空间 5877人发布
