滑动窗口 Sliding Window
滑动窗口
将嵌套的循环转换为单循环问题,降低时间复杂度为O(n)
识别关键字
- 连续的元素,比如string, subarray, LinkedList
- min, max, longest, shortest, key word
模板
void slidingWindow(String s, String t){Map<Character, Integer> need = new HashMap<>();Map<Character, Integer> window = new HashMap<>();for(char c : t.toCharArray()){need.put(c, need.getOrDefault(c, 0)+1);}int left = 0, right = 0;int valid = 0;while (right < s.length()){// c is the character that will be moved into the windowchar c = s.charAt(right);// Move window rightright++;// Update data of the windowif (need.containsKey(c)){window.put(c, window.getOrDefault(c, 0)+1);}while(the left window needs to be moved right){// d is the character that will be moved out of the windowchar d = s.charAt(left);left++;if (need.containsKey(d)){window.put(d, window.get(d)-1);}}}}
两种方式用来存储窗口数据:
//arrayint[] array = new int[26];for (char c: s.toCharArray()) {array[c - 'a']++;}
//hashmapMap<Character, Integer> map = new HashMap<>();for (char c: s.toCharArray()) {map.put(c, map.getOrDefault(c, 0)+1);}
滑动窗口 Sliding Window相关推荐
- 详解--单调队列 经典滑动窗口问题
单调队列,即单调的队列.使用频率不高,但在有些程序中会有非同寻常的作用. 动态规划·单调队列的理解 做动态规划时常常会见到形如这样的转移方程: f[x] = max or min{g(k) | b[x ...
- 算法与数据结构(一):滑动窗口法总结
滑窗法在算法题中大量应用,其思想简洁强大,但是往往在维护左右指针时候容易出错,现总结整理如下: 1. 介绍 滑动窗口法,也叫尺取法(可能也不一定相等,大概就是这样 =.=),可以用来解决一些查找满足一 ...
- 滑动窗口相关概念和习题集
概念 "滑动窗口"(sliding window)这一概念大概源自计算机网络,数据链路层的可靠传输对数据帧的传送进行流量控制和差错检验.发送方和接收方均维护一定大小的滑动窗口,对于 ...
- 滑动窗口协议 c语言,TCP滑动窗口协议详解.docx
本文源自CSDN博客: HYPERLINK "/THISISPAN" /THISISPAN欢迎各位访问博客,进行技术交流 滑动窗口机制 (1)?窗口机制 滑动窗口协议的基本原理就是 ...
- 滑动窗口算法(Sliding Window Algorithm)
目录 滑动窗口算法(Sliding Window Algorithm) 一.基本示例 二.经典使用 1. 连续元素最大和 题目 解法及分析 2. 最长无重复子字符串 题目 解法及分析 三.参考资料 滑 ...
- Java算法-滑动窗口算法(Sliding Window)(十)
滑动窗口 滑动窗口概念不仅存在于数据链路层,也存在于传输层,两者有不同的协议,但基本原理是相近的.其中一个重要区别是,一个是针对于帧的传送,另一个是字节数据的传送. 滑动窗口(Sliding wind ...
- flink的(Sliding)滑动窗口
flink的(Sliding)滑动窗口 未分组全局执行的滑动窗口(Sliding) 滑动窗口一般用于股票的可视化实现,他不会忽然高了忽然低了,他会有一个过渡缓冲区. public class Slid ...
- Stream Processing:滑动窗口的聚集(aggregation)操作的优化算法讲解
本文将要讲解流处理中滑动窗口聚集操作的相关优化算法.将分别从下面几个方面讲解: 什么是滑动窗口? 什么是滑动窗口的聚集操作? 聚集操作的优化的必要性在哪里? 有哪些优化算法,它们的原理分别是什么? 4 ...
- 滑动窗口算法基本原理与实践
原文作者:huansky 原文地址:滑动窗口算法基本原理与实践 目录 滑动窗口算法(Sliding Window Algorithm) 基本示例 滑动窗口法的大体框架 算法实例 1208. 尽可能使字 ...
最新文章
- 观看5万个游戏视频后,英伟达AI学会了自己开发「吃豆人」
- NBA表格_多伦多猛龙,向NBA大结局说不!猛龙夺冠创下了哪些记录?
- DNA Consensus String
- 设计模式之策略者模式
- Linux SSH登陆配置文件修改
- 【转】ArcGIS Server安装
- 蓝桥杯 ALGO-37 算法训练 Hankson的趣味题
- 【转载】高速电路设计中的电源地
- 管理信息系统开发项目管理
- 2014年南京航空航天大学计算机学院推荐研究生公示,2014年南航计算机科学与技术学院考研分数线及复试调剂办法...
- 阿里云 CentOS 7.4 下部署基于 Node.js 的微信小程序商城
- ENVI5.4中Himawari-8数据处理(向日葵8号卫星H-8)
- 美股,期货和国债随着大选进行中持续大幅度波动,华尔街如何看待这次结局?
- 服务器显示阵列卡升级,Systemx服务器在BIOS中刷新阵列卡微码
- 舌尖上的职场(三)我来买单!(转)
- e-r数据建模-概念模型 逻辑模型 物理模型-总结
- Hadoop2.6.5安装部署及环境变量配置
- android修改虚拟内存(方法)
- Excel破解宏密码
- 显著性目标检测之Learning to Promote Saliency Detectors