python 实现最长无重复子串

Posted shirann

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 实现最长无重复子串相关的知识,希望对你有一定的参考价值。

eg:
  输入:‘a‘
  输出:1
  输入:‘aba‘
  输出:2
  输入:‘pwwag‘
  输出:3


# 最长无重复子串,注意是子串,不是所有的字符,也不是回文子串
def demo(str):
max_len=[] # 记录每次子串长度的值
e_len=0 #子串长度
dict={} #记录已经遍历过的元素
for i in range(len(str)):
if str[i] not in dict:
e_len += 1
dict[str[i]]=i
max_len.append(e_len)
else:
dict={} # 关键啦!清空!哈哈
e_len = 1 # 关键2!哈哈
print(max_len)
return max(max_len)


d之一族:
  Q:为什么要写这个?
  A:面试题,然后没找到正确答案。。。怼?

以上是关于python 实现最长无重复子串的主要内容,如果未能解决你的问题,请参考以下文章

算法 - 最长无重复子串

java数据结构与算法之最长无重复子串问题

[LeetCode] Longest substring without repeating characters 最长无重复子串

java数据结构与算法之最长无重复子串问题

字符串问题之 找到字符串的最长无重复子串

字符串空格替换合法括号序列判断求最长无重复子串问题