python实现滑动窗口平均_数据流滑动窗口平均值 · sliding window average from data stream...
[抄题]:
给出一串整数流和窗口大小,计算滑动窗口中所有整数的平均值。
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...相关推荐
- python实现滑动窗口平均_Python之滑动窗口
对于一个数组array = ["n","v","l","f",...,"y","c&quo ...
- java窗口课程_课程登记窗口java
设计窗口,实现课程的登记,并且将相应的数据写入文件之中.保证的是课程名称不可以重复,对于任课老师必须是在已经设定好的五位老师之中.并且上课地点也是在预先设定的范围内.窗口可以持续进行保存,数据将在判断 ...
- java 两个窗口 贴_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 if(e.getActionCommand()=="进入注册") {new CommFrame(); }}class Handle ...
- TimesTen 应用层数据库缓存学习:8. 配置Sliding Window(滑动窗口)
Sliding Window(滑动窗口)是Cache Group常用的一种场景. 本文介绍滑动窗口的基本概念以及如何配置滑动窗口. 滑动窗口的描述如下: In a sliding window con ...
- 【Flink】各种窗口的使用(处理时间窗口、事件时间窗口、窗口聚合窗口)
文章目录 一 Flink 中的 Window 1 Window (1)Window概述 (2) Window类型 a 滚动窗口(Tumbling Windows) b 滑动窗口(Sliding Win ...
- c语言实现滑动平均_方格网上观测数据的窗口滑动平均处理——C语言
1 方格网上观测数据的窗口滑动平均处理 一.题目要求 已知 M 行 N 列方格网上的观测数据, 为了压制其中的高频干扰信 号, 使个观测点之间的数据平滑过渡, 要求编写程序对该方格网上的 数据进行窗口 ...
- 滑动窗口算法_有点难度,几道和「滑动窗口」有关的算法面试题
前言科普:什么是滑动窗口算法 滑动问题包含一个滑动窗口,它是一个运行在一个大数组上的子列表,该数组是一个底层元素集合. 假设有数组 [a b c d e f g h ],一个大小为 3 的 **滑动窗 ...
- TCP滑动窗口(Sliding Window)原理
---------------- 版权声明:本文为CSDN博主「CQ小子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csd ...
- [Swift]LeetCode480. 滑动窗口中位数 | Sliding Window Median
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
最新文章
- 授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
- 近期code review几处小问题集锦
- C#进阶之路(一):委托
- Python之web开发(六):python使用django框架搭建网站之登陆页搭建不同页面之间跳转
- Pycharm Anaconda 安装dlib
- LOJ.6435.[PKUSC2018]星际穿越(倍增)
- 不用网关或代理的单点远程办公如何实现,Aruba推出EdgeConnect Microbranch
- “三行代码,确实需要耗上一整天”
- linux awk拼接字符串,shell awk命令字符串拼接
- 大学计算机基础操作题材料,《大学计算机基础》操作题
- 开源KVM管理工具和平台
- Configured.java
- 物联网卡的6个应用案例全面解析
- 无论夫妻还是情人,能陪你一生的男人,都有这个特征
- 现身说法,如何给上司送礼物
- matlab 工具箱下载地址
- 提高农业品牌互联网曝光度的“四个一工程”
- COLMAP: Structure-from-Motion Revisited 论文阅读
- 电大计算机网考试题,电大计算机应用基础网考统考试题及答案
- Mac下压缩和解压rar文件的方法