96SEO 2026-02-19 19:10 18
【算法笔记】滑动窗口算法原理深度剖析前言一.长度最小的子数组1.1题目1.2思路分析1.3算法流程1.4正确性证明1.5代码实现

二.无重复字符的最长字串2.1题目2.2思路分析2.3代码实现
四.找到字符串中所有字母异位词4.1题目4.2思路分析4.3代码实现
哈喽各位小伙伴大家好上期我们讲了双指针算法原理今天我们继续讲解滑动窗口算法原理。
话不多说咱们进入正题向大厂冲锋
这里当right越界时说明我们枚举了所有情况直接返回结果即可。
left0,right0;rightnums.size();right){sumnums[right];//进窗口while(sumtarget){Minmin(Min,right-left1);//更新结果sum-nums[left];//出窗口}}return
lengthOfLongestSubstring(string
left,right,ns.size();·leftright0;while(rightn){hash[s[right]];//进窗口while(hash[s[right]]1){hash[s[left]]--;//出窗口}retmax(ret,right-left1);//更新结果right;}return
left0,right0,k0,nfruits.size();rightn;right){if(hash[fruits[right]]0)//进窗口{k;//种类增加}hash[fruits[right]];//记录个数while(k2){hash[fruits[left]]--;if(hash[fruits[left]]0)//种类减少{k--;}left;//出窗口}ansmax(ans,right-left1);//更新结果}return
left0,right0,ns.size();rightn;right){char
ins[right];//进窗口if(hash2[in-a]hash1[in-a]){count;//有效字符增加}if(right-left1p.size()){char
outs[left];//出窗口if(hash2[out-a]--hash1[out-a]){count--;//有效字符减少}}if(countp.size()){ret.push_back(left);//保存结果}}return
a:words){hash1[a];//填充哈希表存储单词个数}int
lenwords[0].size(),nwords.size();for(int
lefti,righti,count0;rightlens.size();rightlen){string
ins.substr(right,len);hash2[in];//填充哈希if(hash1.count(in)hash2[in]hash1[in])//判断是否有效字符串{count;//更新有效单词个数}if(right-left1len*n)//出窗口{string
outs.substr(left,len);if(hash1.count(out)hash2[out]hash1[out])//判断是否有效字符串{count--;//更新有效单词个数}hash2[out]--;//更新哈希leftlen;}if(countn){ret.push_back(left);//更新结果}}}return
滑动窗口就是根据题目信息在暴力枚举的条件下利用单调性优化用同向双指针快速筛选掉一些不必要的遍历情况。
在O(N)的复杂度下完成所有情况的枚举从而解题的算法。
这就是滑动窗口算法原理的深度剖析。
总而言之滑动窗口就是在暴力枚举的情况下利用单调性使用同向双指针在O(N)的复杂度完成枚举的算法。
算法流程并不重要重要的是背后的算法原理推到和证明。
大家自己下去好好消化。
今天就分享到感谢各位的耐心垂阅咱们下一期见拜拜~
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback