LeetCode Hot100 滑动窗口 + 前缀和专项题解笔记
本次整理三道高频连续子数组/子串经典题3.无重复字符的最长子串滑动窗口438.找到字符串中所有字母异位词定长滑动窗口560.和为K的子数组前缀和哈希无法用滑动窗口核心区分✅ 滑动窗口适用区间满足单调性右边界扩张时左边界只会单向右移❌ 数组存在负数时区间和不具备单调性不能滑动窗口改用前缀和哈希。3. 无重复字符的最长子串题目大意找出字符串中不含重复字符的最长连续子串长度。思路不定长滑动窗口双指针left、rightHashSet维护窗口内字符右指针不断向右扩张遇到重复字符时不断移动左指针并删除窗口内字符直到当前字符不存在窗口中。classSolution{publicintlengthOfLongestSubstring(Strings){char[]sss.toCharArray();// set保存当前窗口[left, right]内所有字符SetCharactersetnewHashSet();intres0;// 右指针持续向右遍历for(intleft0,right0;rights.length();right){charchss[right];// 当前字符已经存在窗口不断收缩左边界while(set.contains(ch)){set.remove(ss[left]);left;}// 将当前右指针字符加入窗口set.add(ss[right]);// 更新最大窗口长度resMath.max(res,right-left1);}returnres;}}关键点while而不是if重复字符可能不在窗口最左侧需要持续左移直到无重复子串必须连续窗口区间[left,right]永远代表合法无重复区间。438. 找到字符串中所有字母异位词题目大意在s中找到所有p的字母异位词子串返回起始下标。异位词字母组成、数量完全相同顺序不同。思路定长滑动窗口窗口长度固定等于p的长度使用数组统计字符频次对比频次数组判断是否为异位词。classSolution{publicListIntegerfindAnagrams(Strings,Stringp){intsLens.length(),pLenp.length();ListIntegeransnewArrayList();// s长度小于p不可能存在异位词直接返回空集合if(sLenpLen){returnans;}// 频次数组仅小写字母大小26int[]sCountnewint[26];int[]pCountnewint[26];// 初始化第一个窗口填充p长度的字符for(inti0;ipLen;i){sCount[s.charAt(i)-a];pCount[p.charAt(i)-a];}// 第一个窗口匹配成功起始下标0加入结果if(Arrays.equals(sCount,pCount)){ans.add(0);}// 滑动窗口依次向右移动窗口for(inti0;isLen-pLen;i){// 移出窗口最左侧字符sCount[s.charAt(i)-a]--;// 纳入窗口右侧新字符sCount[s.charAt(ipLen)-a];// 频次数组完全相等 字母异位词if(Arrays.equals(sCount,pCount)){ans.add(i1);}}returnans;}}关键点定长窗口窗口宽度固定为p.length字母异位词等价于字符频次完全一致不用排序字符串数组对比效率更高每次滑动只修改左右两个字符的计数不需要重新统计整个窗口。560. 和为 K 的子数组题目大意统计数组中和等于k的连续子数组数量。数组存在负数思路前缀和 哈希表。定义前缀和pre[i] nums[0] nums[1] … nums[i]区间[j1, i]的和 pre[i] - pre[j]我们要求pre[i] - pre[j] k→pre[j] pre[i] - k哈希表记录每个前缀和出现的次数遍历到当前pre时查询pre-k存在多少次就是满足条件的子数组数量。classSolution{publicintsubarraySum(int[]nums,intk){intcount0;// 答案计数intpre0;// 当前前缀和// key前缀和value该前缀和出现次数HashMapInteger,IntegermapnewHashMap();// 初始化前缀和为0出现1次处理pre刚好等于k的场景map.put(0,1);for(inti0;inums.length;i){prenums[i];// 存在pre-k累加对应的出现次数if(map.containsKey(pre-k)){countmap.get(pre-k);}// 更新当前前缀和出现次数map.put(pre,map.getOrDefault(pre,0)1);}returncount;}}关键点数组包含负数区间和不单调不能使用滑动窗口map.put(0,1)必不可少例如nums[1],k1pre1pre-k0需要初始前缀和0先查询再put避免把当前pre计入本次查询保证区间是连续子数组。三道题目对比总结无重复最长子串不定长滑动窗口窗口约束「无重复字符」左右指针单向移动字母异位词定长滑动窗口窗口长度固定使用频次数组快速匹配异位词和为K子数组前缀和哈希。数组有负数时滑动窗口失效属于滑动窗口题的重要边界区分。

相关新闻

深入解析C55x DSP底层驱动:PLL、PWR、RTC与TIMER模块实战指南

深入解析C55x DSP底层驱动:PLL、PWR、RTC与TIMER模块实战指南

1. 项目概述:从寄存器到驱动,掌握C55x DSP的底层脉搏如果你在嵌入式领域,尤其是数字信号处理(DSP)方向摸爬滚打过一阵子,一定会对“芯片支持库”(Chip Support Library, CSL&#xf…

2026/7/27 4:43:08阅读更多 →
技术笔记:KV Cache友好的上下文设计(李博杰《深入理解 AI Agent》2.3观后总结)

技术笔记:KV Cache友好的上下文设计(李博杰《深入理解 AI Agent》2.3观后总结)

背景 大模型每生成一个新token,都需要引用前文所有token的注意力中间结果。如果没有缓存优化,计算开销会随着上下文长度急剧上升。 KV Cache 的核心思路:缓存已经计算完毕token对应的Key、Value向量。在单次推理内部,只计算新增t…

2026/7/27 4:43:08阅读更多 →
深入解析DSP/BIOS PIP模块:生产者-消费者模型与帧管理实战

深入解析DSP/BIOS PIP模块:生产者-消费者模型与帧管理实战

1. 项目概述与核心价值在嵌入式实时系统开发,尤其是基于德州仪器(TI)DSP芯片的应用中,任务间的数据流高效、可靠传递是决定系统性能的关键。想象一下,你的系统里有一个高速运行的ADC(模数转换器&#xff09…

2026/7/27 4:43:08阅读更多 →
深入GPIO寄存器:原子操作、中断控制与嵌入式底层开发实践

深入GPIO寄存器:原子操作、中断控制与嵌入式底层开发实践

1. 从“开关”到“智能管家”:GPIO寄存器设计的哲学在嵌入式开发这个行当里混了十几年,我见过太多工程师把GPIO(通用输入输出)当成一个简单的“开关”来用。点个灯、读个按键,写个digitalWrite或者digitalRead就完事了…

2026/7/27 6:19:17阅读更多 →
Kimi    LeetCode 3715. 完全平方数的祖先个数总和 Python3实现

Kimi LeetCode 3715. 完全平方数的祖先个数总和 Python3实现

以下是 LeetCode 3715. 完全平方数的祖先个数总和 的 Python3 实现,基于 DFS 哈希表 无平方因子核预处理的思路。---核心思路关键数学性质:两个数 a b 是完全平方数,当且仅当它们去掉所有平方因子后的剩余部分(无平方因子核&am…

2026/7/27 6:19:17阅读更多 →
Linux 常见文件后缀

Linux 常见文件后缀

1、脚本/可执行类 .sh Bash/Shell 脚本 .bash bash专用脚本,和.sh几乎通用 .zsh zsh解释器脚本 .py Python脚本 .pl Perl脚本 .js NodeJS脚本 .go Go源码 .c/.cpp/.h C/C源码 .jar Java打包程序 .elf Linux原生可执行二进制…

2026/7/27 6:19:17阅读更多 →
Claude智能体架构解析:企业级AI自动化实践指南

Claude智能体架构解析:企业级AI自动化实践指南

1. Claude Managed Agents:企业级AI智能体的基础设施革命当Notion的产品经理Eric Liu在团队会议上展示他们最新集成的AI功能时,现场响起了掌声。他简单输入了一个需求:"整理上周所有用户反馈,按优先级排序,并生成…

2026/7/27 6:19:17阅读更多 →
深度解析:北森商业综合推理测评核心题型与高分解题策略|聚焦中高层选拔 | 核心能力测定 | 40分钟28题详解|华东同舟求职内部培训资料

深度解析:北森商业综合推理测评核心题型与高分解题策略|聚焦中高层选拔 | 核心能力测定 | 40分钟28题详解|华东同舟求职内部培训资料

在当前企业人才选拔与组织发展的进程中,标准化的认知与能力测评已成为中高层核心岗位招聘及干部储备的关键环节。行业内广泛采用的评估工具,如SHL、AON、TAS倍智以及盖洛普(Gallup)等,均从不同维度对候选人进行深度画像…

2026/7/27 6:19:17阅读更多 →
GS-Agent:构建4D物理仿真环境实现多智能体协作实践指南

GS-Agent:构建4D物理仿真环境实现多智能体协作实践指南

如果你正在探索如何让 AI 智能体在更真实、动态的环境中学习和交互,而不仅仅是处理静态文本或图片,那么 GS-Agent 的出现可能正是你需要的突破。传统 AI 训练环境往往缺乏物理真实性和时间维度,导致智能体学到的技能难以迁移到现实世界。GS-A…

2026/7/27 6:17:17阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/27 1:14:34阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/27 1:14:52阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/27 1:14:56阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:24阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:24阅读更多 →
2007-2023年各市区县生态文明建设示范区DID

2007-2023年各市区县生态文明建设示范区DID

数据简介 自改革开放以来,我国依赖高投入、高资源消耗和高污染等传统发展模式实现了经济短期内的快速增长, 然而这也导致了严重的生态环境危机。因此,国家有力于推动企业高质量经济发展,协同生态保护的方针,从而从201…

2026/7/27 0:00:24阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →