Day 2 | 3. 无重复字符的最长子串:尝试绕过窗口的一天
错误尝试一用 char 变量维护区间边界我最开始想用类似快慢指针的思路但把指针设成了char类型用left和right记录当前子串的“字符边界”并试图通过right ! s[i]来判断是否重复。public class Solution {public int LengthOfLongestSubstring(string s) {if(s null) return 0;char left s[0];char right left;int num 1;int max 0;for(int i 0; i s.Length - 1; i){if(right ! s[i]){num 1;right s[i];}else{if(max num) max num;num 1;left s[i];right left;}}if(max num) max num;if(right ! s[s.Length - 1]) max 1;return max;}}判断right ! s[i]只能知道当前字符和上一个字符是否不同一旦出现abca这种隔位重复它完全检测不到导致num错误累加。然后发现扫不到最后一个寻思打个补丁然后更乱了。。。可能也是闲的....尝试了一两个小时没有发现保持char指针和扫描的解法所以先放这里也许以后能解。错误尝试二字典记录最后位置排序找连续索引把每个字符的最新出现位置存进字典然后对这些位置排序找到最长的连续递增索引段长度就是最长无重复子串的长度。通过“排序”和“连续递增”来事后拼凑“窗口”而不是在遍历过程中实时维护窗口的合法性。public class Solution { public int LengthOfLongestSubstring(string s) { Dictionarychar, int dict new Dictionarychar, int(); for (int i 0; i s.Length; i) { char c s[i]; if (dict.ContainsKey(c)) dict[c] i; // 保留最后一次出现位置 else dict.Add(c, i); } if (dict.Count 0) return 0; Listint indices dict.Values.ToList(); indices.Sort(); int maxLen 1, curLen 1; for (int i 1; i indices.Count; i) { if (indices[i] indices[i - 1] 1) curLen; else { maxLen Math.Max(maxLen, curLen); curLen 1; } } maxLen Math.Max(maxLen, curLen); return maxLen; } }思路的出发点是“所有不重复字符的最后出现索引如果能连成连续序列就代表一个无重复子串”。但事实上一个无重复子串中某个字符可能出现多次而字典只保留最后一次完全打乱了顺序关系如果可以实时更新这个长度也许可以解决。正确解法滑动窗口 哈希集用left和right两个整数指针维护一个窗口哈希集存储当前窗口内的字符。public class Solution { public int LengthOfLongestSubstring(string s) { if (s null) return 0; int maxLen 0; int left 0; var set new HashSetchar(); for (int right 0; right s.Length; right) { while (set.Contains(s[right])) { set.Remove(s[left]); left; } set.Add(s[right]); maxLen Math.Max(maxLen, right - left 1); } return maxLen; } }备注由于哈希表还不熟练开始准备用字典删除键值对的方式但是后来发现哈希表更简洁一些

相关新闻

多条产线PLC并发采集效率低,以太网转换器单模块支持6台上位机同步采集无缝对接组态王SCADA

多条产线PLC并发采集效率低,以太网转换器单模块支持6台上位机同步采集无缝对接组态王SCADA

一、项目背景本次应用落地于华东某电子元器件组装车间,车间内布局12条独立组装与检测产线,全线搭载松下FP-X、FP-X0系列传统串口型PLC,均为无原生以太网接口的老旧设备。长期以来,所有PLC均处于单机独立运行状态,仅支持…

2026/6/19 1:15:11阅读更多 →
“涪车出海”直达北非

“涪车出海”直达北非

近日,随着一声嘹亮的汽笛声划破长空,一列满载鑫源汽车散件的西部陆海新通道班列从涪陵龙头港缓缓驶出。这趟班列经广西钦州港转海运,最终将抵达北非阿尔及利亚。这是涪陵龙头港首次开行直达北非的汽车散件专列,标志着“涪车出海”…

2026/6/19 1:15:11阅读更多 →
嵌入式内存控制器UPM原理与配置:从时序控制到工程实践

嵌入式内存控制器UPM原理与配置:从时序控制到工程实践

1. 嵌入式内存控制器与UPM:从硬件抽象到精准时序控制在嵌入式系统开发,尤其是基于PowerPC、ARM等架构的复杂SoC设计中,内存控制器(Memory Controller)的角色远不止是一个简单的“地址译码器”。它更像是处理器与外部存…

2026/6/19 1:10:10阅读更多 →
免费虚拟显示器终极指南:ParsecVDisplay完整解决方案

免费虚拟显示器终极指南:ParsecVDisplay完整解决方案

免费虚拟显示器终极指南:ParsecVDisplay完整解决方案 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 你是否曾经因为显示器数量不足而影响工作效率?或者需…

2026/6/19 2:35:15阅读更多 →
3步开启你的光学实验室:零代码探索光的奇妙世界

3步开启你的光学实验室:零代码探索光的奇妙世界

3步开启你的光学实验室:零代码探索光的奇妙世界 【免费下载链接】ray-optics A web app for creating and simulating 2D geometric optical scenes, with a gallery of (interactive) demos. 项目地址: https://gitcode.com/gh_mirrors/ra/ray-optics 你是否…

2026/6/19 2:35:15阅读更多 →
TC1305双路LDO电源管理芯片:低功耗设计、复位监控与PCB布局实战

TC1305双路LDO电源管理芯片:低功耗设计、复位监控与PCB布局实战

1. 项目概述:为什么TC1305值得你花时间研究?如果你正在设计一个由电池供电的嵌入式设备,或者任何对功耗、系统可靠性有苛刻要求的项目,那么“电源管理”这四个字,绝对是你绕不开的核心课题。今天要聊的TC1305&#xff…

2026/6/19 2:35:15阅读更多 →
2026 集成式 RJ45 插座连接器行业市场分析TOP品牌厂家排行——佳迅智能(JIAXUN)脱颖而出

2026 集成式 RJ45 插座连接器行业市场分析TOP品牌厂家排行——佳迅智能(JIAXUN)脱颖而出

一、行业市场宏观数据 全球数字化转型持续提速,RJ45 插座作为网络通信基建核心元器件,市场需求稳步上行。 据 Global Market Insights 权威调研: 2024 全球 RJ45 连接器市场规模 48.7 亿美元,2025 年市场规模突破 55 亿美元&…

2026/6/19 2:35:15阅读更多 →
ComfyUI_smZNodes:跨平台AI图像生成一致性终极指南

ComfyUI_smZNodes:跨平台AI图像生成一致性终极指南

ComfyUI_smZNodes:跨平台AI图像生成一致性终极指南 【免费下载链接】ComfyUI_smZNodes Custom nodes for ComfyUI such as CLIP Text Encode 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_smZNodes 你是否曾在不同AI绘画工具间切换时,发…

2026/6/19 2:35:15阅读更多 →
英雄联盟专业录像编辑工具:用League Director打造电影级游戏视频

英雄联盟专业录像编辑工具:用League Director打造电影级游戏视频

英雄联盟专业录像编辑工具:用League Director打造电影级游戏视频 【免费下载链接】leaguedirector League Director is a tool for staging and recording videos from League of Legends replays 项目地址: https://gitcode.com/gh_mirrors/le/leaguedirector …

2026/6/19 2:30:15阅读更多 →
Photobucket付费墙背后:5美元买童年回忆却落得一场空!

Photobucket付费墙背后:5美元买童年回忆却落得一场空!

1. 付费墙初现如今身处万亿市值公司林立的时代,我们也不能轻易放弃5美元。就像Photobucket,它曾相当于过去的Imgur,我们小时候常把图片上传到这个网站,然后在各种论坛上分享链接,它简单好用,尽职尽责。但最…

2026/6/19 0:04:37阅读更多 →
如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南

如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南

如何在5分钟内掌握Mermaid Live Editor:实时图表编辑终极指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live…

2026/6/19 0:04:37阅读更多 →
yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南

yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南

yuzu模拟器内存修改技术深度解析:金手指功能实现原理与实践指南 【免费下载链接】yuzu 项目地址: https://gitcode.com/GitHub_Trending/yuz/yuzu yuzu作为目前最流行的开源Nintendo Switch模拟器,不仅提供了完整的游戏运行环境,还内…

2026/6/19 0:04:37阅读更多 →