跳过正文
  1. leetcode 题解/

346_数据流中的移动平均值

·57 字·1 分钟

类型:队列

    1. 数据流中的移动平均值 💚

    https://leetcode-cn.com/problems/moving-average-from-data-stream/

    ❓ 实现一个滑动窗口类 MovingAverage:

    • MovingAverage(int size)

      初始化示例,窗口大小初始化为 size。

    • double next(int val)

      向窗口中压入数据 val,并返回当前窗口内数据平均值。

    💡 双端队列

    
    class MovingAverage:
    
        def __init__(self, size: int):
            """
            Initialize your data structure here.
            """
            self.size = size
            self.arr = []
    
        def next(self, val: int) -> float:
            self.arr.append(val)
            if len(self.arr) > self.size:
                self.arr = self.arr[len(self.arr) - self.size:]
            return sum(self.arr) / len(self.arr)