LEETCODE LCR 041. 数据流中的移动平均值

请添加图片描述

class MovingAverage:

    def __init__(self, size: int):
        """
        Initialize your data structure here.
        """
        self.size=size+1
        self.front=0
        self.rear=0
        self.queue=[None for _ in range(size+1)]
        self.sum=0

    def next(self, val: int) -> float:
        # 满了
        if (self.rear+1)%self.size==self.front:
            self.front=(self.front+1)%self.size
            self.sum-=self.queue[self.front]

            self.rear=(self.rear+1)%self.size
            self.queue[self.rear]=val
            self.sum+=val
            return 1.0*self.sum/(self.size-1)
        else:
            self.rear=self.rear+1
            self.queue[self.rear]=val
            self.sum+=val
            return 1.0*self.sum/(self.rear-self.front)



# Your MovingAverage object will be instantiated and called as such:
# obj = MovingAverage(size)
# param_1 = obj.next(val)

请添加图片描述

相关推荐

  1. 深入理解深度学习指数移动平均(EMA)

    2024-05-04 06:16:03       11 阅读
  2. 机器学习指数加权移动平均线

    2024-05-04 06:16:03       10 阅读
  3. 详解MYSQL平均值组大小

    2024-05-04 06:16:03       31 阅读
  4. Wireshark在移动网络应用

    2024-05-04 06:16:03       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 06:16:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 06:16:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 06:16:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 06:16:03       20 阅读

热门阅读

  1. 第4章 基于概率论的分类方法: 朴素贝叶斯

    2024-05-04 06:16:03       6 阅读
  2. 如何在 Ubuntu 16.04 上使用 WireGuard 创建点对点 VPN

    2024-05-04 06:16:03       10 阅读
  3. Deep Learning Part Eight Attention--24.5.3~24.5.4

    2024-05-04 06:16:03       13 阅读
  4. 人机协同中的分布式中心化态势感知

    2024-05-04 06:16:03       10 阅读
  5. Mac OS 笔记

    2024-05-04 06:16:03       13 阅读
  6. ⑥ - 后端工程师通识指南

    2024-05-04 06:16:03       12 阅读
  7. 【Python】模块和包

    2024-05-04 06:16:03       11 阅读
  8. 分片上传,分片合并

    2024-05-04 06:16:03       7 阅读