[抄题]:

给出一串整数流和窗口大小,计算滑动窗口中所有整数的平均值。

MovingAverage m = new MovingAverage(3);

m.next(1) = 1 // 返回 1.00000

m.next(10) = (1 + 10) / 2 // 返回 5.50000

m.next(3) = (1 + 10 + 3) / 3 // 返回 4.66667

m.next(5) = (10 + 3 + 5) / 3 // 返回 6.00000

[暴力解法]:

来一个数就存数组,for 循环最近size个数求和取平均返回。

时间分析:size

空间分析:n

[思维问题]:

不知道为什么要定义全局变量:因为两个函数中都要用。

先提前声明,在函数中分别具体实现。

[一句话思路]:

先进先出,用queue实现就行。

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

判断queue尺寸,已经满了,就先拿出来 再放进去。

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

方法中只有实现,没有声明。que = new LinkedList();即可

[复杂度]:Time complexity: O(n) Space complexity: O(n)

n个点,每个点执行一次。不知道queue都是这样吗?下次注意

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[其他解法]:

前缀和,没有通用性,算了

时间分析:方便快速求a数组中某一段的和 前缀和做差法 a[k] + a[k + 1] +... + a[j] = s[j] - s[k -1] 时间复杂度降成o(1)

[Follow Up]:

[LC给出的题目变变变]:

239. Sliding Window Maximum median 一堆数求最值,用堆

773. Sliding Puzzle 最短路,用bfs

[代码风格] :

/  除号两边要打空格

public classMovingAverage {/** @param size: An integer*/

private double sum = 0;// private intsize;private intval;private Queueque;public MovingAverage(intsize) {this.size =size;

que= new LinkedList();

}/** @param val: An integer

* @return:*/

public double next(intval) {this.val =val;this.sum =sum;

sum+=val;if (que.size() ==size) {

sum= sum -que.poll();

}

que.offer(val);return sum / que.size();//}

}

View Code

python实现滑动窗口平均_数据流滑动窗口平均值 · sliding window average from data stream...相关推荐

  1. python实现滑动窗口平均_Python之滑动窗口

    对于一个数组array = ["n","v","l","f",...,"y","c&quo ...

  2. java窗口课程_课程登记窗口java

    设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...

  3. java 两个窗口 贴_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 if(e.getActionCommand()=="进入注册") {new CommFrame();   }}class Handle ...

  4. TimesTen 应用层数据库缓存学习:8. 配置Sliding Window(滑动窗口)

    Sliding Window(滑动窗口)是Cache Group常用的一种场景. 本文介绍滑动窗口的基本概念以及如何配置滑动窗口. 滑动窗口的描述如下: In a sliding window con ...

  5. 【Flink】各种窗口的使用(处理时间窗口、事件时间窗口、窗口聚合窗口)

    文章目录 一 Flink 中的 Window 1 Window (1)Window概述 (2) Window类型 a 滚动窗口(Tumbling Windows) b 滑动窗口(Sliding Win ...

  6. c语言实现滑动平均_方格网上观测数据的窗口滑动平均处理——C语言

    1 方格网上观测数据的窗口滑动平均处理 一.题目要求 已知 M 行 N 列方格网上的观测数据, 为了压制其中的高频干扰信 号, 使个观测点之间的数据平滑过渡, 要求编写程序对该方格网上的 数据进行窗口 ...

  7. 滑动窗口算法_有点难度,几道和「滑动窗口」有关的算法面试题

    前言科普:什么是滑动窗口算法 滑动问题包含一个滑动窗口,它是一个运行在一个大数组上的子列表,该数组是一个底层元素集合. 假设有数组 [a b c d e f g h ],一个大小为 3 的 **滑动窗 ...

  8. TCP滑动窗口(Sliding Window)原理

    ---------------- 版权声明:本文为CSDN博主「CQ小子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csd ...

  9. [Swift]LeetCode480. 滑动窗口中位数 | Sliding Window Median

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

最新文章

  1. 授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
  2. 近期code review几处小问题集锦
  3. C#进阶之路(一):委托
  4. Python之web开发(六):python使用django框架搭建网站之登陆页搭建不同页面之间跳转
  5. Pycharm Anaconda 安装dlib
  6. LOJ.6435.[PKUSC2018]星际穿越(倍增)
  7. 不用网关或代理的单点远程办公如何实现,Aruba推出EdgeConnect Microbranch
  8. “三行代码,确实需要耗上一整天”
  9. linux awk拼接字符串,shell awk命令字符串拼接
  10. 大学计算机基础操作题材料,《大学计算机基础》操作题
  11. 开源KVM管理工具和平台
  12. Configured.java
  13. 物联网卡的6个应用案例全面解析
  14. 无论夫妻还是情人,能陪你一生的男人,都有这个特征
  15. 现身说法,如何给上司送礼物
  16. matlab 工具箱下载地址
  17. 提高农业品牌互联网曝光度的“四个一工程”
  18. COLMAP: Structure-from-Motion Revisited 论文阅读
  19. 电大计算机网考试题,电大计算机应用基础网考统考试题及答案
  20. Mac下压缩和解压rar文件的方法

热门文章

  1. java mysql 清空表_MySQL 删除数据表
  2. JS将数字转换为带有单位的中文表示
  3. 解决Oracle jdbc驱动包maven下载失败问题
  4. spring boot+mybatis 多数据源切换
  5. angular4 学习日志(一 依赖注入)
  6. [bzoj3926][Zjoi2015]诸神眷顾的幻想乡
  7. 设计模式之装饰模式的学习
  8. Java中instanceof用法
  9. 腾讯企业邮箱API实现单点登录和获取企业未读邮件
  10. python字符串,列表,字典的常用方法