题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。

解析:由于数据是动态的添加的,不用移除,所以用list存储添加进去的数值。关键点是在获取数据流中的中位数。

注意:需要先给list排序

判断list里面的数值的个数的奇偶性。如果是list的大小是奇数,例如里面存储的是1 2 3 4 5,那么中位数就是3,直接list.size()/2后得到的就是中位数的下角标了。如果list的大小是偶数,例如里面存储的是1 2 3 4。显然中位数就是 (2 + 3)/2,那么如何求得2、3?就是list.size()-1后再除以2就得到数值2的下角标了,然后list.size()/2得到3的角标了。然后你就可以干你想干的了。

import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
public class Solution {List<Integer> list = new ArrayList<>();public void Insert(Integer num) {list.add(num);}public Double GetMedian() {Collections.sort(list);Double result=null;if(list.size()%2!=0){//奇数个数字 1 2 3  4  5result= Double.valueOf(list.get(list.size()/2));}else {//偶数个数字  1 2 3 4result=(Double.valueOf(list.get((list.size()-1)/2))+Double.valueOf(list.get(list.size()/2)))/2;}return result;}}

《剑指offer》数据流中的中位数相关推荐

  1. 剑指offer——数据流中的中位数

    题目: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们使 ...

  2. [剑指Offer] 数据流中的中位数

    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 对 ...

  3. 剑指offer 矩阵中的路径 @python

    剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...

  4. 8. 返回数组里出现次数最多的数字_剑指offer 数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  5. 剑指Offer——链表中倒数第K个节点

    1.题目描述 输入一个链表,输出该链表中倒数第k个结点. 2.代码实现 package com.baozi.offer;/*** @author BaoZi* @create 2019-07-11-1 ...

  6. [剑指Offer]-矩阵中的路径

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...

  7. 剑指offer:矩阵中的路径

    题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中的某 ...

  8. 剑指offer:数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  9. [剑指offer] 数组中只出现一次的数字

    本文首发于我的个人博客:尾尾部落 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. 解题思路 法一:大家都能想到的HashMap法 法二:异或法 ...

  10. 剑指offer 链表中倒数第k个节点

    题目描述 输入一个链表,输出该链表中倒数第k个结点. 解决方案: public class Solution {public ListNode FindKthToTail(ListNode head, ...

最新文章

  1. NODEJS 使用 XLSX模块导出excel文件
  2. 读入excel中的数据到数据库中
  3. Axure中推动拉动元件不生效_单线图标元件库SVG矢量图标 纯净无干扰的Axure元件库...
  4. 机器人搏击大赛冠军_机器人的江湖 谁主沉浮——2017格斗机器人大赛侧记
  5. python编辑器_自学python第一课之下载安装编辑器
  6. 代码的抽象三原则【转载】
  7. pdf python 3.7编程快速入门 潘中强_无python基础,这些书籍可以帮您快速入门。
  8. chrome 开发工具插件总结
  9. 给别的计算机硬盘装系统,在一台计算机上装好系统的硬盘移到另一个电脑能用吗?...
  10. MATLAB地图工具箱学习总结(三)地图工具箱的基本知识
  11. java魂斗罗_魂斗罗java源代码分享
  12. 继续教育统考英语计算机监考严吗,网络教育统考监考严吗
  13. 项目管理工具—思维导图
  14. 为什么要配置环境变量以及配置环境变量的步骤
  15. 互联网快讯:中国石化与隆基达成战略合作;极米多款投影产品持续热销;百度网盘青春版正式上线
  16. HaaS-Python实现智能水族生态控制器
  17. 工商银行考试计算机知识,【必读】工商银行考试内容及复习方法
  18. C#问题——CS1591 缺少对公共可见类型或成员的 XML 注释
  19. Android Studio 简易计算机源码
  20. Springboot基于Android的洗衣店预约APP 毕业设计-附源码260839

热门文章

  1. Linux网络编程 之 IO多路复用select(八)
  2. elasticsearch index doc过程概述
  3. 【终极办法】org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloC
  4. 极简代码:1012 数字分类 (20分)
  5. [106].从中序与后序遍历序列构造二叉树
  6. 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
  7. BGP小实验——选路不困难,只要有方法
  8. 关于5G技术和5G技术即将面临的各项挑战
  9. PHP 运动会,运动会成绩管理系统
  10. “你的手机上未安装应用程序”的解决方案