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

数据流中的中位数

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

import java.util.*;


public class Solution {

    //插入排序:将未插入数依次插入有序中,每次插入比较大小找到插入位置
   //由于数组是在不断增长的不能全部插入后进行排序,
    //所以用到插入排序边插入数据便排序

    private static ArrayList<Integer> ret = new ArrayList<>();
    public static void Insert(Integer num) {
        //当列表为空时直接插入
        if (ret.isEmpty())
            ret.add(num);
        else {
            //找到插入位置,
            int i=0;
            for (;i<ret.size();i++){
                if (num<= ret.get(i))
                    break;
            }

            ret.add(i,num);//插入,原位置的数会平移

           
        }
    }

    public static Double GetMedian() {
        int n = ret.size();
        if (n%2==1){
            return (double) ret.get(n / 2);
        }else {
            double a = ret.get(n/2);
            double b = ret.get(n/2 -1);
            return (a+b)/2;
        }
    }

}

全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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