news 2026/7/23 1:49:50

8 无重复字符的最长子串

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8 无重复字符的最长子串

给定一个字符串s,请你找出其中不含有重复字符的最长 子串的长度。

示例 1:输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。注意 "bca" 和 "cab" 也是正确答案。
示例 2:输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

1、检查参数的合法性。

2、定义一个哈希表hash,用于筛选重复的字符串。

3、使用双指针,left和right,分别指向数组的开头,定义一个最大长度len_max=0。

4、开始循环右指针往前走,每遇到一个元素查询一下hash中是否有重复的元素,假如没有就往hash中插入一个元素,key为数组的值,value为元素的下标。

5、假如查询到hash中已经有对应的元素了,那找到那个元素和位置pos。记录此时hash的长度和len_max比较谁更大,用len_max记录下来。

6、在hash表中从左指针到pos的位置的元素删除(或者使用墓碑标记),修改该key值的value=pos,左指针指向pos的位置,右指针继续向前right++,直到右指针指向数组的末尾。

7、返回len_max。

class Solution { public: int lengthOfLongestSubstring(string s) { int n=s.size(); if(n<2) return n; unordered_map<char,int> hash; int len=0,max_len=1,left=0,right=1; hash[s[0]]=0; while(right<n){ auto it=hash.find(s[right]); if(it==hash.end()||it->second==-1){ len=right-left+1; max_len=max_len>len?max_len:len; hash[s[right]]=right; right++; continue; } int endPos=it->second+1; for(int i=left;i<endPos;i++){ hash[s[i]]=-1; } hash[s[right]]=right; left=endPos; right++; } return max_len; } };

推荐一个零声教育学习教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,点击立即学习:链接

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 1:49:47

JSON文件操作全解析:从基础语法到性能优化

1. JSON文件基础认知与核心价值JSON&#xff08;JavaScript Object Notation&#xff09;作为当前最流行的轻量级数据交换格式&#xff0c;其设计哲学与XML形成鲜明对比。我至今记得2012年第一次接触JSON时那种惊艳感——相比当时主流的XML配置&#xff0c;一个简单的用户数据用…

作者头像 李华
网站建设 2026/7/23 1:46:58

学术写作AI工具对比:千笔与灵感AI的专科生应用指南

1. 项目概述&#xff1a;学术写作辅助工具的精准定位"照着用就行"这个标题直接点明了当前学术写作辅助工具的核心价值——降低使用门槛。作为一名在学术出版领域工作多年的从业者&#xff0c;我见证了从早期EndNote这类专业文献管理软件&#xff0c;到如今AI驱动的智…

作者头像 李华
网站建设 2026/7/23 1:46:26

HarmonyOS 6.1 混沌工程实战:从“故障免疫”到“韧性架构”

系列可靠性篇第44篇。UX动效篇后&#xff0c;有运维专家问&#xff1a;“Demo在理想环境下跑得很美&#xff0c;但现实环境很骨感&#xff1a;网络抖动、服务端宕机、数据库慢查询&#xff0c;你的电商系统扛得住吗&#xff1f;” 这问到了系统可靠性的核心。今天我们将引入混沌…

作者头像 李华
网站建设 2026/7/23 1:43:43

大语言模型如何重塑就业市场信息透明度

1. 项目概述最近在分析AI技术对就业市场的影响时&#xff0c;我发现了一个有趣的现象&#xff1a;以ChatGPT为代表的大语言模型正在重塑劳动力市场的信息传递方式。这种变化不仅体现在求职招聘环节&#xff0c;更深刻地影响了整个职业发展路径中的信息透明度。作为从业者&#…

作者头像 李华
网站建设 2026/7/23 1:40:25

毕业生必备7款AI论文写作工具,一站式搞定选题初稿与降AIGC

还在为论文选题、初稿、修改、降重头疼&#xff1f;本文专为被论文Deadline困扰的毕业生、研究生打造&#xff0c;深度测评7款实用AI论文工具&#xff1a;千笔AI主打全流程一站式服务&#xff0c;适配理工科&#xff1b;豆包AI擅长中文语境灵感激发&#xff1b;JSTOR、CiteSeer…

作者头像 李华
网站建设 2026/7/23 1:38:41

WebSocket安全测试实战:漏洞挖掘与防御方案

1. WebSocket API安全测试概述WebSocket作为HTML5规范中的重要组成部分&#xff0c;已经广泛应用于实时通信场景。与传统HTTP协议不同&#xff0c;WebSocket建立的是持久化全双工连接&#xff0c;这种特性在带来高效实时交互的同时&#xff0c;也引入了独特的安全风险。在SRC&a…

作者头像 李华