Python滑动窗口算法:滑动窗口算法(4 by 4 sliding window price)

我知道滑动窗口算法的时间复杂度是 o(N),但是可变大小的滑动窗口算法的时间复杂度是多少。

对于 e-

数组 = 1,2,3,4,5,6

当滑动窗口的大小为 = 1 时窗口-1,2,3,4,5,6

当滑动窗口的大小为 = 2 时窗口-1,2,2,3,3,4,4,5,5,6

当滑动窗口的大小为 = 3 时窗口-1,2,3,2,3,4,3,4,5,4,5,6

等等...

窗口大小的范围为 1 到 n(窗口大小的有效值)。如果创建单个窗口的成本为 O(N),则创建 N 个窗口的成本为 O(N ^ 2)?

在数组中运行滑动窗口是 O(n),而不管窗口的大小。

对于所有窗口大小,头指针和尾指针单调增加。相反,典型的嵌套循环二次算法为每个外部索引i运行内部索引jin

这里的假设是,除了 deque 优惠和投票(每个i的恒定时间)之外,您没有做任何额外的工作,例如为每个i循环遍历窗口。

如果你正在创建n窗口从1n,你回到经典的嵌套循环二次算法,O(n ^ 2)。

相关推荐
ever_up9737 分钟前
LangChain基础知识概述1
人工智能·python·langchain
黑马程序员毕设8 分钟前
基于Java的仪器管理系统设计与实现
java·开发语言·spring boot·后端·微信小程序
平头哥AI9 分钟前
Day 13 | 一个函数回两个值:Go 的 error 是从哪冒出来的
开发语言·后端·golang
asdzx6728 分钟前
Python 实现 PDF 文本查找与高亮标注
开发语言·python·pdf
zander25832 分钟前
LeetCode 1143. 最长公共子序列
开发语言·python·算法
Sumerking34 分钟前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc
棣廷43 分钟前
初识Python面向对象
java·开发语言
研☆香1 小时前
js中 onload 事件的用法
开发语言·javascript·ecmascript
轩情吖1 小时前
Python基础知识点完整总结
python·字符串·编程语言·函数·列表·元组·字典
xiancai_xianyu1 小时前
想把数据模型一次建完美再上AI?会一直卡在建模里
开发语言·人工智能·php·数据模型·语义层·本体建模·企业知识网络