欢迎大家阅览博主机器学习与自然语言处理系列专栏:https://blog.csdn.net/qq_36583400/category_11959999.html
题目:给定一个字符串?s
?,请你找出其中不含有重复字符的?最长子串?的长度。
这是个常规题,我们在遍历字符串的时候,始终存储一个没有重复字符的子字符串的即可,?当遍历的指针指向的字母一旦已经存在在我们存储的子字符串中,那么子字符串就应当去掉重复字符及其之前的那些字符,并拼接当前指针指向的字符,从而成为一个新的无重复子串。
def lengthOfLongestSubstring(self, s: str) -> int:
if not s:
return 0
substring = ''
maxlen = 0
for x in s:
if x in substring:
i = substring.index(x)
substring = substring[i+1:]
substring += x
maxlen = max(maxlen, len(substring))
return maxlen
?