Solution
Code
class Solution:
from collections import deque
def __init__(self, size: int):
self.size = size
self.q = deque()
self.n=0
self.mean=0
def compute_moving_average(self, val: int) -> float:
self.n+=1
if self.n<=self.size:
self.q.append(val)
if self.n==1:
self.mean=val
return val
else:
self.mean=self.mean + (val-self.mean)/self.n
return self.mean
elif self.n>self.size:
remove = self.q.popleft()
self.q.append(val)
self.mean = self.mean - remove/self.size + val/self.size
return self.mean