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

数据流中的中位数

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

}

全部评论

相关推荐

01-12 09:24
门头沟学院 Java
点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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