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

数据流中的中位数

https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1

#include <vector>
class Solution {
public:
    void Insert(int num) {
        nums.push_back(num);
        size++;
	  	//插入后直接进行排序
        if(size >= 2 && nums[size-1] < nums[size-2])
        {
            int temp = nums[size-1];
            int i = size-2;
            while(i>=0 && nums[i] > temp)
            {
                nums[i+1] = nums[i];
                i--;
            }
            nums[i+1] = temp;
        }
    }

    double GetMedian() { 
        if(size % 2  == 0)
        {
            return static_cast<double>(nums[size/2-1]+nums[size/2])/2;
        }
        else {
            return nums[size/2];
        }
    
    }
private:
    vector<int> nums;
    int size = 0;
};

全部评论

相关推荐

02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
2024-12-29 15:37
已编辑
西华大学 图像识别
程序员牛肉:去不了,大厂算法卡学历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务