346. Moving Average from Data Stream
来源:互联网 发布:电脑打字软件怎么下载 编辑:程序博客网 时间:2024/06/07 09:27
Given a stream of integers and a window size, calculate the moving average of all integers in the sliding window.
For example,
MovingAverage m = new MovingAverage(3);m.next(1) = 1m.next(10) = (1 + 10) / 2m.next(3) = (1 + 10 + 3) / 3m.next(5) = (10 + 3 + 5) / 3一道设计题,限制了Queue的长度,可以加一个判断,如果Queue大于了size,就弹出第一个数,求剩下数和当前数的平均;如果没超过size,累加求平均。代码如下:
public class MovingAverage { private int size = 0; private int count = 0; private Queue<Integer> queue = new LinkedList<Integer>(); private double average = 0; /** Initialize your data structure here.*/ public MovingAverage(int size) { this.size = size; } public double next(int val) { if (queue.size() >= size) { average = (average * size - queue.poll() + val) / size; queue.offer(val); } else { average = (average * queue.size() + val) / (queue.size() + 1); queue.offer(val); } return average; }}/** * Your MovingAverage object will be instantiated and called as such: * MovingAverage obj = new MovingAverage(size); * double param_1 = obj.next(val); */
0 0
- LeetCode 346. Moving Average from Data Stream
- LeetCode 346. Moving Average from Data Stream
- 346. Moving Average from Data Stream
- [LC]346. Moving Average from Data Stream
- Moving Average from Data Stream
- Moving Average from Data Stream
- Leetcode Everyday: 346. Moving Average from Data Stream
- [leetcode] 346. Moving Average from Data Stream 解题报告
- Leetcode 346. Moving Average from Data Stream (Easy) (cpp)
- [Leetcode] 346. Moving Average from Data Stream 解题报告
- Leetcode 346 Moving Average from Data Stream
- LeetCode 346. Moving Average from Data Stream(数据流移动平均值)
- Moving Average of An Input Stream
- Find Median from Data Stream
- Find Median from Data Stream
- Find Median from Data Stream
- Find Median from Data Stream
- Find Median from Data Stream
- ahk 创建快捷方式(.lnk)文件
- 2402存储一个数据
- Sublime快捷键总结
- 2054 货币系统 USACO(codevs)
- 练习
- 346. Moving Average from Data Stream
- 回车事件调用的例子
- xml的约束
- TabLayout 实现ViewPager+fragment
- 2016总结
- ahk 批量删除文件
- 使用unity绘制旋转的三角形
- Spring实践(二)AOP的底层实现机制
- 图像识别(12)——LED灯光点捕获+基于QT平台绘制轨迹(2)