Moving Average from Data Stream (Leetcode 642)

Problem Link: https://www.lintcode.com/problem/642/?fromId=201&_from=collection

class MovingAverage(object):
    """
    @param: size: An integer
    """
    def __init__(self, size):
        # do intialization if necessary
        self.q=[]
        self.k=size
        self.summ=0

    """
    @param: val: An integer
    @return:  
    """
    def next(self, val):
        # write your code here
        if(len(self.q)<self.k):
            self.q.append(val)
            self.summ+=val
            return self.summ/len(self.q)
        else:
            self.summ-=self.q[0]
            del self.q[0]
            self.q.append(val)
            self.summ+=val
            return self.summ/self.k

Last updated