Skip to content

Commit 8233448

Browse files
authored
Create moving_average_from_data_stream.py
1 parent 3a3d883 commit 8233448

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

moving_average_from_data_stream.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)