We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3a3d883 commit 8233448Copy full SHA for 8233448
moving_average_from_data_stream.py
@@ -0,0 +1,23 @@
1
+class MovingAverage:
2
+ """
3
+ @param: size: An integer
4
5
+ def __init__(self, size):
6
+ # do intialization if necessary
7
+ self.size = size
8
+ self.queue = []
9
+ self.start = 0 # 考虑到用list模拟queue的效率,还是空间换时间吧。
10
+ self.total = float(0)
11
+
12
13
+ @param: val: An integer
14
+ @return:
15
16
+ def next(self, val):
17
+ # write your code here
18
+ self.total += float(val)
19
+ self.queue.append(val)
20
+ if (len(self.queue) - self.start) > self.size:
21
+ self.total -= self.queue[self.start]
22
+ self.start += 1
23
+ return self.total / (len(self.queue) - self.start)
0 commit comments