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

数据流中的中位数

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

import java.util.*;


public class Solution {
    //定义一个数组存放排序的结果
    ArrayList<Integer> val=new ArrayList<Integer>();
    public void Insert(Integer num) {
        //定义一个数组存放排序的结果
        int i=0;
        //遍历数组,插入num,对于每一个num都需要遍历,所有i=0;
        for(;i<val.size();i++){
            if(num>val.get(i)){
                break;
            }
        }
        //特别注意这个是在for循环外的
         val.add(i,num);
    }

    public Double GetMedian() {
        int n=val.size();
        //中位数计算,当数组的个数为奇数时
        double res;
        if (n%2==1){
             res=val.get(n/2);
        }else{
            double a=val.get(n/2);
            double b=val.get((n/2)-1);
            res=(a+b)/2;
        }
        return res;  
    }

}

全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务