""" 最长子串 给定一个字符串,找出其中不含有重复字符的最长子串的长度。 注意:是子串的长度,不是子串。 """ def sub_string_length(s): """ 计算给定字符串中最大的不重复子字符串的长度。 :param s: 输入的字符串 :return: 最大的不重复子字符串的长度 """ # 初始化最大长度为0 result = 0 # 使用集合记录当前不重复子字符串的字符 s_set = set() # 获取字符串的长度 length = len(s) # 初始化最后一个字符的位置为-1,用于后续遍历 pos = -1 # 遍历字符串中的每个字符 for i in range(length): # 如果不是第一个字符,移除已遍历过的字符,以更新集合 if i != 0: s_set.remove(s[i - 1]) # 向后寻找不重复的字符,更新集合和pos的值 while pos + 1 < length and s[pos + 1] not in s_set: s_set.add(s[pos + 1]) pos += 1 # 更新最大长度 result = max(result, pos - i + 1) # 返回最大长度 return result # 调用函数并打印结果 print(sub_string_length("xyyabcdy"))
最长子串:找出不含有重复字符的最长子串的长度
未经允许不得转载:创想未来 » 最长子串:找出不含有重复字符的最长子串的长度
评论前必须登录!
注册