题解 | #数据流中的中位数#
数据流中的中位数
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