news 2026/6/22 16:53:20

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/6/22 11:56:06

揭秘rusEFI:打造属于你的智能汽车“大脑“ [特殊字符]

想要为爱车安装一颗更聪明的"大脑"吗&#xff1f;rusEFI开源ECU项目让这一切成为可能&#xff01;作为一款完全开源的发动机控制单元解决方案&#xff0c;rusEFI为汽车爱好者和开发者提供了前所未有的定制自由。无论你是想优化燃油效率、提升动力性能&#xff0c;还是…

作者头像 李华
网站建设 2026/6/21 19:56:17

3步优化UI-TARS坐标定位:从像素级误差到手术刀级精准

3步优化UI-TARS坐标定位&#xff1a;从像素级误差到手术刀级精准 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 在UI-TARS项目的实际应用中&#xff0c;我们经常遇到这样的困惑&#xff1a;明明模型识别出了正确的界面元素&…

作者头像 李华
网站建设 2026/6/21 20:26:50

5个关键步骤彻底解决NAS媒体库安全困扰:NAS-Tools权限管理终极指南

还在为家庭NAS中的电影被误删、孩子看到不适宜内容而烦恼吗&#xff1f;NAS-Tools通过其强大的权限控制系统&#xff0c;让普通用户也能轻松实现企业级的数据安全保障。本文将带你从零开始&#xff0c;用5个简单步骤构建完美的媒体库访问控制体系&#xff0c;让你的数字资料安全…

作者头像 李华
网站建设 2026/6/21 3:42:52

FaceFusion支持帽子/头饰联动替换:整体协调性更强

FaceFusion支持帽子/头饰联动替换&#xff1a;整体协调性更强 在影视特效、虚拟偶像和数字人内容爆发的今天&#xff0c;AI换脸早已不再是简单的“换张脸”这么简单。用户期待的是更自然、更具身份一致性的视觉体验——如果一个人的脸变了&#xff0c;但头上还戴着属于原主的标…

作者头像 李华
网站建设 2026/6/18 22:25:39

长文本理解终极指南:5步掌握LongBench基准测试

长文本理解终极指南&#xff1a;5步掌握LongBench基准测试 【免费下载链接】LongBench LongBench v2 and LongBench (ACL 2024) 项目地址: https://gitcode.com/gh_mirrors/lo/LongBench 在人工智能快速发展的今天&#xff0c;大型语言模型的长文本理解能力已成为衡量其…

作者头像 李华