题解 | #数据流中的中位数#

数据流中的中位数

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
全部评论

相关推荐

牛仔知道哦:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
02-26 16:52
门头沟学院 Java
Lunarloop:董事长亲自到ssob来要IM项目的技术方案来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务