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

数据流中的中位数

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

};
全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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