为什么list index out of range
class Solution:def lengthOfLongestSubstring(self, s: str) -> int:
x=0
m=0
listed=[]
for i,j in enumerate(s):
listed.extend(j)
while i+1<len(s):
if listed == listed:
if x<m:
x=m
m=0
else:
m+=1
print(x) 本帖最后由 xruiy 于 2022-8-12 14:32 编辑
应将第九行改为:
if listed == listed
索引超出范围 当i=0的时候,listed的长度为1,if listed == listed: 这句话会造成下标越界。(其实所有情况都会越界,i其实就是数组的最大下标,任何时候i+1都会越界)
if listed==listed 为什么已经改了还是超出时间限制 第9行if listed == listed列表索引超范围了
而且 第7行 listed.extend(j)extend()函数参数是列表,而j是字符串 应改为listed.extend() append不能添加可迭代对象 改后代码:
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
x=0
s_len = len(s)
for sub_start in range(s_len):
list = ]
for i in range(sub_start + 1, s_len):
if list.count(s) == 0:
list.append(s)
else:
break
sub_len = len(list)
if sub_len > x:
x = sub_len
return x
页:
[1]