《剑指offer》数据流中的中位数
题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
解析:由于数据是动态的添加的,不用移除,所以用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》数据流中的中位数相关推荐
- 剑指offer——数据流中的中位数
题目: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们使 ...
- [剑指Offer] 数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 对 ...
- 剑指offer 矩阵中的路径 @python
剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...
- 8. 返回数组里出现次数最多的数字_剑指offer 数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 剑指Offer——链表中倒数第K个节点
1.题目描述 输入一个链表,输出该链表中倒数第k个结点. 2.代码实现 package com.baozi.offer;/*** @author BaoZi* @create 2019-07-11-1 ...
- [剑指Offer]-矩阵中的路径
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...
- 剑指offer:矩阵中的路径
题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中的某 ...
- 剑指offer:数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- [剑指offer] 数组中只出现一次的数字
本文首发于我的个人博客:尾尾部落 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. 解题思路 法一:大家都能想到的HashMap法 法二:异或法 ...
- 剑指offer 链表中倒数第k个节点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 解决方案: public class Solution {public ListNode FindKthToTail(ListNode head, ...
最新文章
- NODEJS 使用 XLSX模块导出excel文件
- 读入excel中的数据到数据库中
- Axure中推动拉动元件不生效_单线图标元件库SVG矢量图标 纯净无干扰的Axure元件库...
- 机器人搏击大赛冠军_机器人的江湖 谁主沉浮——2017格斗机器人大赛侧记
- python编辑器_自学python第一课之下载安装编辑器
- 代码的抽象三原则【转载】
- pdf python 3.7编程快速入门 潘中强_无python基础,这些书籍可以帮您快速入门。
- chrome 开发工具插件总结
- 给别的计算机硬盘装系统,在一台计算机上装好系统的硬盘移到另一个电脑能用吗?...
- MATLAB地图工具箱学习总结(三)地图工具箱的基本知识
- java魂斗罗_魂斗罗java源代码分享
- 继续教育统考英语计算机监考严吗,网络教育统考监考严吗
- 项目管理工具—思维导图
- 为什么要配置环境变量以及配置环境变量的步骤
- 互联网快讯:中国石化与隆基达成战略合作;极米多款投影产品持续热销;百度网盘青春版正式上线
- HaaS-Python实现智能水族生态控制器
- 工商银行考试计算机知识,【必读】工商银行考试内容及复习方法
- C#问题——CS1591 缺少对公共可见类型或成员的 XML 注释
- Android Studio 简易计算机源码
- Springboot基于Android的洗衣店预约APP 毕业设计-附源码260839
热门文章
- Linux网络编程 之 IO多路复用select(八)
- elasticsearch index doc过程概述
- 【终极办法】org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘helloC
- 极简代码:1012 数字分类 (20分)
- [106].从中序与后序遍历序列构造二叉树
- 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
- BGP小实验——选路不困难,只要有方法
- 关于5G技术和5G技术即将面临的各项挑战
- PHP 运动会,运动会成绩管理系统
- “你的手机上未安装应用程序”的解决方案