Sliding Window

滑动窗口跟CNN里面的卷积计算操作很像。具体来说就是给定一组数据,然后从前到后扫描所有的数据,每次取出一段连续的区间,可以是等长的也可以是变长的。

滑动窗口问题一般可以从三个角度来考虑:

  1. 窗口扩张

一般就是right向右移动一位

  1. 窗口收缩

需要思考什么时候left右移。一般是非目标字符。有时候是常规的收缩,有时候是带优化性质的收缩。

  1. 寻找最值(目标情形)

根据具体情况构造。比如求最长/最短,就用fmin,fmax来迭代。

模板

int left = 0;
int right = 0;
while(right < n){if(需要收缩){left++;// left = right;}if(目标情形){ret = fmax(ret, right-left+1);}right++;
}

例题

剑指 Offer 59 - I. 滑动窗口的最大值

3. 无重复字符的最长子串

76. 最小覆盖子串

239. 滑动窗口最大值

395. 至少有K个重复字符的最长子串

424. 替换后的最长重复字符

567. 字符串的排列

978. 最长湍流子数组

1438. 绝对差不超过限制的最长连续子数组

Sliding Window[滑动窗口]相关推荐

  1. Sliding Window滑动窗口(单调队列)

    Sliding Window滑动窗口 POJ - 2823 目录 Sliding Window滑动窗口 POJ - 2823 题意描述 解题思路 AC代码 An array of size n ≤ 1 ...

  2. Sliding Window(滑动窗口)

    Sliding Window 题目描述 An array of size n ≤ 106 is given to you. There is a sliding window of size k wh ...

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

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

  4. 入门经典_Chap08_题解总结:极角扫描法 滑动窗口 单调队列 单调栈

    总结  本章主要关注一个重要的问题 – 单调队列和单调栈的使用  同时还有一些其他的问题,如扫描法,递归的思想, 构造, 分治, 二分等 知识点 单调队列 和 单调栈 题目 UVA - 1606 Am ...

  5. 【大数据】带你理解并使用flink中的Time、Window(窗口)、Windows Function(窗口函数)

    提醒:本文的示例代码基于flink1.13,在讲window的使用时也会说明flink版本一些api的弃用情况. 文章目录 一.Time的简介 二.Window的概念 三.Window的类型 1.分类 ...

  6. LeetCode 滑动窗口(Sliding Window)类问题总结

    导语 滑动窗口类问题是面试当中的高频题,问题本身其实并不复杂,但是实现起来细节思考非常的多,想着想着可能因为变量变化,指针移动等等问题,导致程序反复删来改去,有思路,但是程序写不出是这类问题最大的障碍 ...

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

    [抄题]: 给出一串整数流和窗口大小,计算滑动窗口中所有整数的平均值. MovingAverage m = new MovingAverage(3); m.next(1) = 1 // 返回 1.00 ...

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

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

  9. 滑动窗口类型(Sliding window)

    Sliding window,滑动窗口类型 介绍部分来自:https://www.zhihu.com/question/36738189/answer/908664455 滑动窗口类型的题目经常是用来 ...

最新文章

  1. 【组合数学】组合数学简介 ( 组合数学脉络 | 组合数学技巧 | 组合思想 1 : 一一对应 )
  2. 全国计算机等级考试题库二级C操作题100套(第63套)
  3. PHP远程连接MYSQL数据库非常慢的解决方法
  4. python用map提取一个数的个十百位数_如何使用python中的map函数?
  5. html和jsp的差异
  6. pop!_os_Pop!幕后花絮_OS Linux
  7. 如何在C++中产生随机数
  8. java邮箱找回密码_java实现邮箱找回密码 简单邮件
  9. IOS MenuController的部分操作
  10. Spark Streaming实现WordCount
  11. 正斜杠“/”与反斜杠”\”
  12. hokuyo_node代码分析
  13. 数据清洗与数据预处理浅析
  14. WordPress插件 AffiliateWP 电商联盟推广插件汉化/中文版[更新至v1.8]
  15. vmoptions默认配置_idea VM options参数优化
  16. cdr怎么抠图轮廓线条_cdr怎么快速抠图呢 需要技巧
  17. hds linux 识别盘符,HDS HDLM让集群两边认到的盘符一样
  18. node.js 安装详细步骤如下(win 版)
  19. 双翌视觉对位软件MasterAlign放入SY_License.Dat加密锁加密文件
  20. 桥梁通服务器物理连接成功,ZStack 实践汇|OSPF搭建与物理网络通信的“桥梁”

热门文章

  1. 古堡算式_经典的全排列问题(福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也)
  2. dcm转jpg,遇到的问题
  3. Android 自定义View 滑动解锁
  4. TCP三次握手和四次挥手抓包详解
  5. 八面玲珑:巧用CSS为图片添加修饰点缀效果
  6. centos7常用工具软件安装
  7. 实现单芯片2400bps 音频编解码方案
  8. Two thousand twenty one -- March -- twenty one -- Sunday
  9. 逻辑运算符号“”、“||”和“!=”的相对优先级是怎样的,代码解释。
  10. 用python写期货程序-python如何运用在期货(我用python做期货)