news 2026/4/25 19:16:25

LeetCode 3.无重复字符的最长子串

作者头像

张小明

前端开发工程师

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

3.无重复字符的最长子串

题面:

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。
【字串】:子字符串 是字符串中连续的 非空 字符序列。

示例 1:

输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。注意 “bca” 和 “cab” 也是正确答案。
示例 2:

输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:

输入: s = “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

解析:
复杂度

时间复杂度O ( n ) O(n)O(n)
空间复杂度O ( m i n ( n , m ) ) ( m 为字符集大小) O(min(n, m))\ (m为字符集大小)O(min(n,m))m为字符集大小)

Code
// C++ class Solution { public: int lengthOfLongestSubstring(string s) { unordered_set<char> temp; int left = 0; int right = 0; int ans = 0; int n = s.size(); while (right < n) { auto it = temp.find(s[right]); if (it == temp.end()) // 当前set中不存在该字符记录 { temp.insert(s[right]); right++; ans = max(ans, right - left); } else { temp.erase(s[left]); left++; } } return ans; } };
# PythonclassSolution:deflengthOfLongestSubstring(self,s:str)->int:temp=set()n=len(s)left,right,ans=0,0,0whileright<n:ifs[right]notintemp:temp.add(s[right])right+=1ans=max(ans,right-left)else:temp.remove(s[left])left+=1returnans
// Rust// use std::cmp;usestd::collections::HashSet;implSolution{pubfnlength_of_longest_substring(s:String)->i32{letmuttemp=HashSet::new();letmutleft=0;letmutright=0;letmutans=0;letn=s.len();// Rust无法直接通过索引访问字符,需要转化为Vec<char>letchars:Vec<char>=s.chars().collect();whileright<n{if!temp.contains(&chars[right]){temp.insert(chars[right]);right+=1;// ans = cmp::max(ans, right - left);ans=ans.max(right-left);}else{temp.remove(&chars[left]);left+=1;}}ansasi32}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 17:04:12

3步解锁NAS-Tools权限黑科技:告别家庭数据混乱的终极方案

3步解锁NAS-Tools权限黑科技&#xff1a;告别家庭数据混乱的终极方案 【免费下载链接】nas-tools NAS媒体库管理工具 项目地址: https://gitcode.com/GitHub_Trending/na/nas-tools 还记得那个周末吗&#xff1f;孩子误删了你珍藏多年的电影合集&#xff0c;朋友来访时不…

作者头像 李华
网站建设 2026/4/23 16:49:47

FaceFusion模型压缩技术研究:减小体积不牺牲质量

FaceFusion模型压缩技术研究&#xff1a;减小体积不牺牲质量在智能手机前置摄像头已普遍支持4K视频录制的今天&#xff0c;用户对实时美颜、虚拟换脸和跨年龄预测等高级视觉功能的需求正以前所未有的速度增长。然而&#xff0c;支撑这些炫酷体验的背后——像FaceFusion这样的人…

作者头像 李华
网站建设 2026/4/18 17:40:56

轻量级AI模型技术突破:重塑端侧应用生态新格局

在AI技术快速演进的当下&#xff0c;轻量级AI模型正以前所未有的速度改变端侧部署的行业格局。随着算力成本持续攀升&#xff0c;0.6B参数规模的Qwen3-FP8模型通过FP8量化技术和双模式推理系统&#xff0c;为企业级AI应用提供了全新的解决方案&#xff0c;将部署门槛降低70%以上…

作者头像 李华
网站建设 2026/4/19 9:44:20

不用公网 IP 也能远程管 NAS? DS File+CPolar 轻松搞定

文章目录前言1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接前言 DS File 是群晖 NAS 的配套管理工具&#xff0c;能实现文件的远程预览、分类管理和安全传输&#xff0c;支持图片、视频、文档等多种格式的在线查看&#xff0c…

作者头像 李华
网站建设 2026/4/17 22:30:02

LÖVE框架视觉反馈系统:打造沉浸式游戏体验的关键技术

LVE框架视觉反馈系统&#xff1a;打造沉浸式游戏体验的关键技术 【免费下载链接】love LVE is an awesome 2D game framework for Lua. 项目地址: https://gitcode.com/gh_mirrors/lo/love 在游戏开发中&#xff0c;视觉反馈系统是连接玩家操作与游戏世界的桥梁。当玩家…

作者头像 李华