网易首页 > 网易号 > 正文 申请入驻

滑动窗口算法:三行代码搞定最长无重复子串

0
分享至

刷LeetCode遇到第3题时,很多人第一反应是暴力枚举。两个嵌套循环,检查每个子串有没有重复字符,时间复杂度直接爆炸。但换个思路,这道题其实可以在线性时间内解决——核心就一句话:遇到重复字符时,别重启,只把左边界往前挪。

这就是滑动窗口的精髓。想象一个左右指针夹着的区间,右指针负责扩张领地,左指针负责清理门户。窗口里装了什么?一个集合,只存当前窗口内的字符,查重快如闪电。


具体怎么操作?右指针从左往右扫,每遇到新字符先查集合。如果没重复,直接加入,窗口变大;如果重复了,左指针开始干活——从左边逐个踢人,直到那个重复的字符被清出去,再把新字符请进来。整个过程两个指针都只往右走,绝不回头。

拿示例"abcabcbb"走一遍。初始左右都在0,'a'进集合,窗口长1。右移到1,'b'新鲜,窗口变2。右移到2,'c'也新,窗口到3,目前最大。右移到3又遇到'a',集合里已有'a',左指针开始右移:先踢掉索引0的'a',左变1,现在'a'可以进来了,窗口变成1到3,长度还是3。

继续走:右到4是'b',集合里有'b',左指针踢掉索引1的'b',窗口2到4。右到5是'c',再踢再移。右到6还是'b',这次得连踢两个——先踢'a','b'还在;再踢'b',终于干净,窗口缩到5到6。全程最大长度锁定在3。


复杂度方面,每个字符进集合一次、出集合一次,时间复杂度O(n),空间复杂度也是O(n)——集合最坏情况下装整个字符串的字符。代码实现干净利落:初始化空集合、左指针0、最大长度0;右指针遍历字符串,内层while清重复,然后加字符、更新最大值。

常见坑点:有人习惯先加字符再检查,结果字符匹配到自己。正确顺序是先查后加,或者加完之后发现重复再处理——但前者更直觉。另一个细节是窗口长度的计算:right - left + 1,别忘了那个+1,索引差值和长度差1。

这套模式不只解这一题。最小覆盖子串、找到字符串中所有字母异位词、水果成篮——LeetCode上十几道中等题都是同一个套路。右扩左缩,集合或哈希表当窗口的记账本,线性扫描替代暴力枚举。理解了这个,面试遇到字符串子串问题,心里就有底了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
崔天凯:如果真关心台湾问题 就支持中国实现统一

崔天凯:如果真关心台湾问题 就支持中国实现统一

看看新闻Knews
2026-05-31 01:12:13
日本宣布首次通过北约“乌克兰优先需求清单”供乌22亿日元军援,俄方此前已表态

日本宣布首次通过北约“乌克兰优先需求清单”供乌22亿日元军援,俄方此前已表态

环球网资讯
2026-05-29 21:53:05
刘德华老婆朱丽蒨超市被偶遇,全身没有佩戴珠宝,60岁朴素低调

刘德华老婆朱丽蒨超市被偶遇,全身没有佩戴珠宝,60岁朴素低调

话娱论影
2026-05-31 15:46:47
2000万吓退朱芳雨!北控漫天要价,王少杰留广东彻底黄了?

2000万吓退朱芳雨!北控漫天要价,王少杰留广东彻底黄了?

慢歌轻步谣
2026-05-31 16:15:29
王益华被查

王益华被查

澎湃新闻
2026-05-30 23:01:02
梅根状态太绝!发量骨相全在线,小麦色抗老气场拉满

梅根状态太绝!发量骨相全在线,小麦色抗老气场拉满

述家娱记
2026-05-29 11:23:47
在天津,家庭存款100万,到底是什么水平?真实段位扎心了

在天津,家庭存款100万,到底是什么水平?真实段位扎心了

叮当当科技
2026-05-31 12:11:59
尹乃菁辞职原因曝光,赵少康不装了!金溥聪摊上事,李德维或提告

尹乃菁辞职原因曝光,赵少康不装了!金溥聪摊上事,李德维或提告

氧气过敏者
2026-05-31 15:06:21
下周一A股会不会大涨甚至暴涨,我直接跟你说,结果不用等

下周一A股会不会大涨甚至暴涨,我直接跟你说,结果不用等

风风顺
2026-05-31 16:57:50
原子弹炸后,百年内不能住人,为何如今广岛和长崎住满了人

原子弹炸后,百年内不能住人,为何如今广岛和长崎住满了人

抽象派大师
2026-05-28 00:09:53
老话不假:一个人的善报和恶报,大多在60岁左右应验,千万别不信

老话不假:一个人的善报和恶报,大多在60岁左右应验,千万别不信

心理观察局
2026-05-30 07:39:07
特朗普曾惊出一身冷汗:中美已无法开战,一杀手锏让美军无计可施

特朗普曾惊出一身冷汗:中美已无法开战,一杀手锏让美军无计可施

跨服解说家
2026-05-31 04:30:20
很多房子已经租不出去了。

很多房子已经租不出去了。

老陆不老
2026-05-31 12:37:09
太嚣张!张本智和父亲放狠话:下个目标 要取代王楚钦坐上世界第

太嚣张!张本智和父亲放狠话:下个目标 要取代王楚钦坐上世界第

老黯谈娱
2026-05-31 15:23:05
麻省理工出品,AI时代人人必修的最佳公开课!零基础用AI创造几乎所有的一切

麻省理工出品,AI时代人人必修的最佳公开课!零基础用AI创造几乎所有的一切

麻省理工AI公开课
2026-05-30 11:40:07
不听大陆劝告执意访美,郑丽文人未启程,就遭美方公开敲打!

不听大陆劝告执意访美,郑丽文人未启程,就遭美方公开敲打!

阿伧说事
2026-05-31 01:06:09
七年统治梦碎!乌克兰民众亲手选出的总统,终于将国家拖入深渊?

七年统治梦碎!乌克兰民众亲手选出的总统,终于将国家拖入深渊?

阿器谈史
2026-05-29 14:13:01
一个都不能少!收复台湾后,中国还需收复三大领土,全是战略要地

一个都不能少!收复台湾后,中国还需收复三大领土,全是战略要地

瑛派儿老黄
2026-05-29 00:10:19
重庆一山体有大量巨石滚落阻断道路,交通委:塌方量超万方,抢通难度大

重庆一山体有大量巨石滚落阻断道路,交通委:塌方量超万方,抢通难度大

大象新闻
2026-05-31 14:51:15
郝军辉任中央组织部副部长

郝军辉任中央组织部副部长

中国经济网
2026-05-30 14:23:25
2026-05-31 17:27:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
4271文章数 45关注度
往期回顾 全部

科技要闻

戴尔诺基亚又回来了!AI重估老牌科技公司

头条要闻

50岁女子在美容店打除皱针半月后死亡 老板:加量打的

头条要闻

50岁女子在美容店打除皱针半月后死亡 老板:加量打的

体育要闻

阿森纳用最悲壮的方式,成就了巴黎王朝

娱乐要闻

贾玲最新动作!侯明昊给虞书欣抬轿!

财经要闻

医学首席转岗搞科技,A股科技股遭遇巨震

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

旅游
时尚
游戏
教育
手机

旅游要闻

魅力山乡|昭苏,一个万马奔腾的地方

梓渝:慢下来,也很好

曝《GTA6》迎重磅合作!抖音神曲歌手现身R星总部

教育要闻

第13课-参加party如何尽兴玩?

手机要闻

国产旗舰单品过百万盘点,这个结果意外吗?

无障碍浏览 进入关怀版