连续最长不重复字符串
给定一个字符串, 返回连续最长不重复子字符串的长度
‘abbac’
3
思路:
step1: 两个指针i,j
step2: 一个初始化的最大长度0
step3; 一个list存储当前遍历的字符串
step4: 移动i, 如果字符str[i] 在list中,则删除str[j], 并且j走一步, 如果不在,则把字符str[i]加入列表
step5: 返回最大长度
代码:
def max_norepeat(s):
maxlen=0
temp = []
i,j = 0,0
while i<len(s):
while s[i] in temp:
temp.remove(s[j])
j += 1
temp.append(s[i])
maxlen = max(maxlen, len(temp))
i += 1
return maxlen
测试:
t = 'abbac'
max_norepeat(t)
3