Skip to content

Commit 3095bc9

Browse files
authored
Update moving_average_from_data_stream.py
1 parent 8233448 commit 3095bc9

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

moving_average_from_data_stream.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@ def __init__(self, size):
66
# do intialization if necessary
77
self.size = size
88
self.queue = []
9-
self.start = 0 # 考虑到用list模拟queue的效率,还是空间换时间吧。
10-
self.total = float(0)
9+
self.start = 0
10+
self.total = 0
1111

1212
"""
1313
@param: val: An integer
1414
@return:
1515
"""
1616
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:
17+
self.total += val
18+
if len(self.queue) == self.size: # 限制数组大小,实现更优雅。
2119
self.total -= self.queue[self.start]
20+
self.queue[self.start] = val
2221
self.start += 1
23-
return self.total / (len(self.queue) - self.start)
22+
self.start %- self.size
23+
else:
24+
self.queue.append(val)
25+
return self.total / len(self.queue)

0 commit comments

Comments
 (0)