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

数据流中的中位数

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

相关推荐

职场水母:为啥你们整简历都喜欢整一大堆没用的,是期待让hr觉得很多,自己很厉害吗
0offer是寒冬太冷还...
点赞 评论 收藏
分享
10-17 23:18
已编辑
西北农林科技大学 Web前端
独行m:给25可以试试,但他只能给12,那就是纯纯的事精
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务