数据流中的中位数 利用list集合实现

数据流中的中位数

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

import java.util.ArrayList;
public class Solution {
    ArrayList<Integer> list = new ArrayList<>();
    public void Insert(Integer num) {
        if(list.isEmpty()){
            list.add(num);
        }else{
            int i = 0;
            while(i < list.size() && list.get(i) < num){
                i++;
            }
            if(i == list.size()){
                list.add(num);
            }else{
                list.add(i, num);
            }
        }
    }

    public Double GetMedian() {
        int size = list.size();
        int midSize = size / 2;
        if(size % 2 == 0){
            return (double)(list.get(midSize  - 1) + list.get(midSize)) / 2;
        }else{
            return (double)(list.get((size - 1) / 2));
        }
    }
全部评论

相关推荐

03-08 18:11
门头沟学院 Java
Java抽象小篮子:海投就完事了,简历没什么问题,最大问题是学历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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