class MovingAverage {
private Deque<Integer> deque;
private int size;
int total;
public MovingAverage(int size) {
this.deque = new LinkedList<>();
this.size = size;
total = 0;
}
public double next(int val) {
if(deque.size() == size){
total -= deque.pollFirst();
}
deque.offerLast(val);
total += val;
return (double)total / deque.size();
}
}
/**
* Your MovingAverage object will be instantiated and called as such:
* MovingAverage obj = new MovingAverage(size);
* double param_1 = obj.next(val);
*/
LeetCode - 346. 数据流中的移动平均值(设计)
于 2022-05-24 10:08:15 首次发布