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:14 阅读更多 →
技术笔记: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:14 阅读更多 →
深入解析DSP/BIOS PIP模块:生产者-消费者模型与帧管理实战

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

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

2026/7/27 4:43:14 阅读更多 →

最新新闻

深圳卓力达电铸助力AI算力液冷散热微米级技术升级

深圳卓力达电铸助力AI算力液冷散热微米级技术升级

随着AI算力服务器、高端消费电子、新能源工控设备功率密度持续飙升,传统风冷散热方案已达性能瓶颈,超薄液冷均温板(VC均热板)凭借超高导热效率、均温性能与轻薄化优势,成为高端设备散热升级的核心载体。液冷均温板的核…

2026/7/27 4:53:18 阅读更多 →
SpringBoot+Vue宠物美容预约系统开发实战

SpringBoot+Vue宠物美容预约系统开发实战

1. 项目背景与核心需求宠物美容行业近年来呈现爆发式增长,根据行业数据显示,2022年国内宠物美容市场规模已突破300亿元。传统电话预约、手工登记的方式已经无法满足现代宠物医院的管理需求。这个基于SpringBootVue的预约管理系统正是为解决以下行业痛点而…

2026/7/27 4:53:18 阅读更多 →
2026年环保项目信息获取:市场开发的核心竞争力与制胜关键

2026年环保项目信息获取:市场开发的核心竞争力与制胜关键

进入2026年,全球环保产业已从“政策驱动”迈入“技术市场责任”多轮驱动的全新阶段。截至2026年7月,中国及全球主要经济体在生态环境领域的年度投资规模均创历史新高,环保工程与设备采购需求呈现爆发式增长。环保产业持续升温:202…

2026/7/27 4:53:18 阅读更多 →
RPIC 2026:机器人感知与智能控制前沿技术解析

RPIC 2026:机器人感知与智能控制前沿技术解析

1. 会议背景与核心价值RPIC 2026作为机器人感知与智能控制领域的旗舰级学术会议,由中日两国三所顶尖高校联合发起。浙江大学在机器人运动控制算法方面的研究处于国际第一梯队,电气通信大学(UEC)在传感器融合技术上拥有专利集群优势…

2026/7/27 4:53:18 阅读更多 →
车联网与自动驾驶安全渗透测试实战指南:从CAN总线到传感器欺骗

车联网与自动驾驶安全渗透测试实战指南:从CAN总线到传感器欺骗

1. 项目概述:为什么我们需要关注车联网与自动驾驶的安全?最近几年,我身边越来越多的朋友开始考虑购买新能源汽车,聊天的话题也从“百公里几个油”变成了“这车辅助驾驶怎么样”、“车机系统卡不卡”。作为一名在网络安全领域摸爬滚…

2026/7/27 4:53:18 阅读更多 →
毫米波智能波束成形技术:MSCNN架构与FPGA优化实践

毫米波智能波束成形技术:MSCNN架构与FPGA优化实践

1. 毫米波智能波束成形技术背景毫米波频段(30-300GHz)因其大带宽特性成为5G/6G通信的核心资源,但高频信号易受路径损耗和遮挡影响。传统波束成形技术通过相位阵列实现定向传输,但面临以下核心挑战:动态环境适应性差&am…

2026/7/27 4:52:17 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

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

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

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

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

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

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

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

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻