Moving Average from Data Stream
Posted 北叶青藤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Moving Average from Data Stream相关的知识,希望对你有一定的参考价值。
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) = 1
m.next(10) = (1 + 10) / 2
m.next(3) = (1 + 10 + 3) / 3
m.next(5) = (10 + 3 + 5) / 3
分析:
利用Queue先进先出的特点即可。
1 public class MovingAverage { 2 Queue<Integer> q; 3 double sum = 0; 4 int size; 5 6 /** Initialize your data structure here. */ 7 public MovingAverage(int s) { 8 q = new LinkedList(); 9 size = s; 10 } 11 12 public double next(int val) { 13 if (q.size() == size) { 14 sum = sum - q.poll(); 15 } 16 q.offer(val); 17 sum += val; 18 return sum / q.size(); 19 } 20 }
以上是关于Moving Average from Data Stream的主要内容,如果未能解决你的问题,请参考以下文章
Moving Average from Data Stream
346. Moving Average from Data Stream - Easy
Leetcode 346. Moving Average from Data Stream
[leetcode]Moving Average from Data Stream
LeetCode-Moving Average from Data Stream
[LeetCode] 346. Moving Average from Data Stream ??????????????????????????????