gary@interview:~/interview/coding/346-moving-avera….md$
$ cat ./coding/346-moving-average-from-data-stream.md
[Coding]

346. Moving Average from Data Stream

────────────────────────────────────────────────────────────

346. Moving Average from Data Stream

class MovingAverage:

    def __init__(self, size: int):
        self.size = size
        self.memo = deque([])
        self.avg = 0
        

    def next(self, val: int) -> float:
        if len(self.memo) >= self.size:
            self.avg = (self.avg * len(self.memo) - self.memo[0] + val)/len(self.memo)
            self.memo.popleft()
        else:
            self.avg = (self.avg * len(self.memo) + val)/(len(self.memo) + 1)
        self.memo.append(val)
        return self.avg
        
        


# Your MovingAverage object will be instantiated and called as such:
# obj = MovingAverage(size)
# param_1 = obj.next(val)
--tags#Queue
$ ls ./coding/ | grep -v 346-moving-average-from-data-stream
265. Paint House II256. Paint House143. Reorder List1762. Buildings With an Ocean View
← cd ../codingcd ~