346. Moving Average from Data Stream
class MovingAverage {
int size;
Queue<Integer> nums;
double sum;
/** Initialize your data structure here. */
public MovingAverage(int size) {
this.size = size;
this.nums = new LinkedList<Integer>();
this.sum = 0;
}
public double next(int val) {
if (nums.size()<size){
nums.offer(val);
sum+= val;
} else {
int temp = nums.peek();
nums.poll();
nums.offer(val);
sum+=val-temp;
}
return sum/nums.size();
}
}