zoukankan      html  css  js  c++  java
  • 牛客(63)数据流中的中位数

    //    题目描述
    //    如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,
    //    那么中位数就是所有数值排序之后位于中间的数值。
    //    如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
    
    
    
        LinkedList<Integer> linkedList = new LinkedList<Integer>();
        public void Insert(Integer num) {
            if (linkedList.size()==0||num<linkedList.getFirst()){
                linkedList.addFirst(num);
            }else{
                boolean isMax = true;
                for (Integer integer: linkedList) {
                    if (num<integer){
                        int index = linkedList.indexOf(integer);
                        linkedList.add(index,num);
                        isMax = false;
                        break;
                    }
                }
                if (isMax) {
                    linkedList.addLast(num);
                }
            }
        }
    
        public Double GetMedian() {
            if (linkedList.size()==0){
                return null;
            }
    
            if (linkedList.size()%2==1){
                int index = linkedList.size()/2;
                return Double.valueOf(linkedList.get(index));
            }else{
                int index = linkedList.size()/2;
                Double result = (linkedList.get(index)+linkedList.get(index-1))/2.0;
                return result;
            }
        }
  • 相关阅读:
    eyou通用标签的调取
    eyou头部相关标签的调用
    自增标签循环+1的方法
    文章内容页相关的标签
    当前栏目有多少文章
    指定栏目最顶级栏目名称
    当前单页正文
    Python-pandas常用函数
    监控在线平台
    网页爬虫---音乐
  • 原文地址:https://www.cnblogs.com/kaibing/p/9132626.html
Copyright © 2011-2022 走看看