【发布时间】:2020-12-02 18:32:47
【问题描述】:
Leetcode #3 最长不重复字符的子串
问题: 给定一个字符串,找出最长不重复字符的子串的长度。
我的代码:
def len_of_substring(s):
list_int = []
st = ''
for n in range(0, len(s)):
if s[n] not in st:
st=st+str(s[n])
list_int.append(len(st))
else:
#list_int.append(len(st))
st=s[n]
return(max(list_int))
len_of_substring('dvdf')
'vdf' 的代码应该返回 3,但我的代码只返回 2。任何帮助将不胜感激!
【问题讨论】:
-
请提供预期的minimal, reproducible example。显示中间结果与您的预期不同的地方。您的代码在实现中似乎适当地最小化,但鉴于无用的变量名称以及迄今为止缺乏调试,我不知道有多少人会做这些工作来对您的逻辑进行逆向工程。插入一些
print语句来跟踪执行和数据流;告诉我们逻辑哪里出错了。 -
会不会是因为你测试的不是
vdf,而是dvdf? -
@GAEfan 即使在测试“dvdf”时也应该返回 3
-
是的,我正在阅读您的代码,而不是原始任务。您的代码只计入重复字符。
标签: python string list duplicates