文章目录
- @[toc]
- 题目描述
- 样例输入输出与解释
- 样例1
- 样例2
- 样例3
- 提示
- Python实现
- 滑动窗口
文章目录
- @[toc]
- 题目描述
- 样例输入输出与解释
- 样例1
- 样例2
- 样例3
- 提示
- Python实现
- 滑动窗口

个人主页:丷从心·
系列专栏:LeetCode
刷题指南:LeetCode刷题指南

题目描述
- 给定一个字符串
s,请你找出其中不含有重复字符的最长子串的长度
样例输入输出与解释
样例1
- 输入:
s = "abcabcbb" - 输出:
3 - 解释:因为无重复字符的最长子串是
"abc",所以其长度为3
样例2
- 输入:
s = "bbbbb" - 输出:
1 - 解释:因为无重复字符的最长子串是
"b",所以其长度为1
样例3
- 输入:
s = "pwwkew" - 输出:
3 - 解释
- 因为无重复字符的最长子串是
"wke",所以其长度为3 - 请注意,你的答案必须是子串的长度,
"pwke"是一个子序列,不是子串
- 因为无重复字符的最长子串是
提示
0 <= s.length <= 5 * 10^4s由英文字母、数字、符号和空格组成
Python实现
滑动窗口
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
char_set = set()
n = len(s)
end, res = 0, 0
for start in range(n):
if start != 0:
# 左指针向右移动一格, 移除一个字符
char_set.remove(s[start - 1])
while end < n and s[end] not in char_set:
# 不断地移动右指针
char_set.add(s[end])
end += 1
res = max(res, end - start)
return res















![SQLServer2022新特性IS [NOT] DISTINCT FROM](https://img-blog.csdnimg.cn/direct/766ea6730af344eab2def616e6e49c77.png#pic_center)


