leetcode346. 数据流中的移动平均值
给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算其所有整数的移动平均值。
示例:
MovingAverage m = new MovingAverage(3);
m.next(1) = 1
m.next(10) = (1 + 10) / 2
m.next(3) = (1 + 10 + 3) / 3
m.next(5) = (10 + 3 + 5) / 3
思路:一个队列记录数字,用一个变量记录窗口和即可,每次更新窗口和。
class MovingAverage {int size//窗口大小int windowSum = 0//窗口和int count = 0;//添加数字的次数Deque queue = new ArrayDeque<Integer>();public MovingAverage(int size) {this.size = size;}public double next(int val) {++count;// calculate the new sum by shifting the windowqueue.add(val);//看有没有过期的数字(最左边)int tail = count > size ? (int)queue.poll() : 0;//更新窗口和windowSum = windowSum - tail + val;return windowSum * 1.0 / Math.min(size, count);}
}
/*** Your MovingAverage object will be instantiated and called as such:* MovingAverage obj = new MovingAverage(size);* double param_1 = obj.next(val);*/
leetcode346. 数据流中的移动平均值相关推荐
- python 数据流中的移动平均值_剑指Offer-41-数据流中的中位数
题目 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值 ...
- LeetCode 346. 数据流中的移动平均值(队列)
文章目录 1. 题目 2. 解题 1. 题目 给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算其所有整数的移动平均值. 示例: MovingAverage m = new MovingAv ...
- 剑指offer:面试题41. 数据流中的中位数
题目:数据流中的中位数 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数 ...
- ajax 文件数据流,Ajax如何读取数据流中的xml文件?
Ajax如何读取数据流中的xml文件? 这是我的源代码,请大家帮忙看看,我读到的怎么都是空值.是不是方法错了? var xmlHttp; function createXMLHttpRequest() ...
- 数据流中的第k大元素的golang实现
设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中 ...
- Leetcode295 数据流中的中位数-最小堆和最大堆
题目 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如,[2,3,4] 的中位数是 3:[2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两 ...
- leetcode 703. 数据流中的第K大元素 最小堆解法 c语言
如题: 设计一个找到数据流中第K大元素的类(class).注意是排序后的第K大元素,不是第K个不同的元素. 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含 ...
- 从C语言的角度重构数据结构系列(七)-数据结构堆知识求解数据流中的第K大元素
前言 在这里给自己打个广告,需要的小伙伴请自行订阅. python快速学习实战应用系列课程 https://blog.csdn.net/wenyusuran/category_2239261.html ...
- 数据流中的中位数,我轻敌了
前言 大家好,我是bigsai.最近轻敌了一个高频问题,分享给大家. 最近面试时候遇到一个非常有意思的hard题,面试官没让写代码让说思路,但放在正常应届生招聘那可能就要手撕了,在剑指offer的第4 ...
最新文章
- 【HeadFirst 设计模式学习笔记】13 MVC分析
- SNMP功能开发简介 四 net-snmp动态监听自定义端口
- Vue.js Prop
- NSDictionary所有API的学习。
- OnLineML:时序数据挖掘
- MySQL-5.5.33主从复制
- mvp内粗泄露问题_如何在一小时内启动MVP服务器
- mysql数据库搜索引擎要先进入_Mysql搜索引擎都有哪些区别
- 如何有效提高你的沟通技巧
- 《Unix网络编程(第3版)》代码编译的一些问题
- Kmalloc申请内存源码分析
- c246芯片组服务器主板,支持Xeon E-2100系列:ASRock 华擎 发布 C246M WS 主板
- 开源纯C#工控网关+组态软件
- Windows 7 旗舰版 64位 (纯净版)
- 可怕的KCFErrordomainCFNetWork 303
- 目标检测算法之AAAI2019 Oral论文GHM Loss
- 查看、修改oracle字符集,查看oracle版本
- IDEA编译代码报错,找不到符号:找不到符号包
- 48亿卖给苏宁!又一全球巨头败走中国
- Centos7安装go1.14.4超级详细(两种安装方式)
热门文章
- linux中python安装_linux环境下的python安装过程图解(含setuptools)
- kafka创建topic命令_0748-5.14.4-Kafka的扩容和缩容
- 嵌入式Linux操作系统的版本查询
- android 主线程调用,Android 主线程和线程之间相互发送消息
- python 串口助手 简书_python用pyserial读取串口问题解决
- Spring笔记——数据源配置
- python任意代码都可以缩进去_我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』...
- 【转】VTK修炼之道2_VTK体系结构1
- 【转】ABP源码分析四十七:ABP中的异常处理
- 第一节:框架前期准备篇之Log4Net日志详解