题目链接: https://leetcode-cn.com/problems/moving-average-from-data-stream
难度:简单
通过率:70.4%
题目描述:
给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算其所有整数的移动平均值。
示例:
MovingAverage m = new MovingAverage(3);
m.next(1) = 1
m.next(10) = (1 + 10) / 2
m.next(3) = (1 + 10 + 3) / 3
m.next(5) = (10 + 3 + 5) / 3
思路:
使用collections.deque
可以设置最大长度
class MovingAverage:
def __init__(self, size: int):
"""
Initialize your data structure here.
"""
from collections import deque
self.queue = deque(maxlen=size)
def next(self, val: int) -> float:
self.queue.appendleft(val)
return sum(self.queue)/ len(self.queue)
更多题解:
九四干:[LeetCode] 题目汇总(持续更新)zhuanlan.zhihu.com