题目:https://leetcode.cn/problems/longest-substring-without-repeating-characters/
解题思路
思路相同,就是可以不用存储窗口的值
代码
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
# s为空,返回0
if not s: return 0
# 定义变量,滑动窗口的长度,最大不重复长度,窗口左右指针
cur_len, max_len = 0,0
l,r = 0,0
n = len(s)
# 遍历数组
for i in range(n):
# 判断该值在不在窗口中,在的话左指针右移,长度-1,直到不在窗口中
while s[i] in s[l:r]:
l +=1
cur_len=cur_len-1
# 右指针右移,长度+1
r+=1
cur_len +=1
#比较目前窗口的长度和存储的最大长度,更新最大值
if cur_len > max_len:
max_len = cur_len
return max_len