第一反应就是肯定都是穷举。
两个循环,第一层循环遍历起始位置,第二层循环确定右边界,不断滑动直到产生一个重复字符停止。
下面是代码,很奇怪,我感觉已经考虑很全面而且在idle上测试第62个测试用例‘""’(也就是两个双引号)是正确的,可是力扣一直显示错误。
max_str = 0
len_str = len(s)
for i in range(len_str):
if max_str >= len_str - i:
return max_str
item_temp = []
for j in range(i, len_str):
if s[j] not in item_temp:
item_temp.append(s[j])
else:
if len(item_temp) > max_str:
max_str = len(item_temp)
break
return max_str
下面是截图在idle的截图