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

数据流中的中位数

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

解法一:插入排序

public:
    //插入排序
    vector<int>ans;
    void Insert(int num) {
        if(ans.empty()){//如果为空,直接插入
            ans.push_back(num);
        }
        else{
            vector<int>::iterator it=lower_bound(ans.begin(),ans.end(),num);//找到大于等于这个数的第一个位置
            ans.insert(it,num);//然后再这个数前面插入
        }
    }

    double GetMedian() { 
        int size=ans.size();
        if(size&1){//奇数个数
            return ans[size/2];
        }else{//偶数个数
            return (ans[size/2-1]+ans[size/2])/2.0;
        }
    }

};
全部评论

相关推荐

喵_coding:年底缺人是短视频营造出来的 而且一般说的也很宽泛 不是特指后端
点赞 评论 收藏
分享
ros275229:社团删了吧,cf因该1200才勉强入门吧,也删了,你可以写算法刷了多少道,都比这个好
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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