from collections import deque class MovingAverage: def __init__(self, size: int) -> None: self._buf: deque[float] = deque(maxlen=size) self._sum = 0.0 def add(self, x: float) -> float: if len(self._buf) == self._buf.maxlen: self._sum -= self._buf[0] self._buf.append(x) self._sum += x return self._sum / len(self._buf)