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

数据流中的中位数

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;
};

全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
没有offer的呆呆:薪资有的时候也能说明一些问题,太少了活不活得下去是一方面,感觉学习也有限
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务