smj007

Moving average from datastream

Apr 24th, 2025
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.69 KB | None | 0 0
  1. class MovingAverage:
  2.  
  3.     def __init__(self, size: int):
  4.         self.nums = []
  5.         self.size = size
  6.         self.running_sum = 0
  7.  
  8.     def next(self, val: int) -> float:
  9.  
  10.         # mistake done here was not defining running_sum globally
  11.         # running_sum = 0 <-- this is wrong since you are resetting everytime
  12.         if len(self.nums) < self.size:
  13.             self.running_sum += val
  14.             self.nums.append(val)
  15.             return (self.running_sum*1.0)/(len(self.nums))
  16.         else:
  17.             self.running_sum = self.running_sum + val - self.nums[0]
  18.             self.nums = self.nums[1:]
  19.             self.nums.append(val)
  20.             return self.running_sum/(self.size*1.0)
  21.        
Advertisement
Add Comment
Please, Sign In to add comment