给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
输入: “abcabcbb”
输出: 3
输入: “bbbbb”
输出: 1
输入: “pwwkew”
输出: 3
def length_longest_substring(string):
length = len(string)
for l in range(length-1,0,-1): //l是子串的长度
for i in range(length-l+1): //i是子串开始的位置
substring = string[i:i+l]
if len(substring) == 1: //示例2的情况
return 1
flag = 0
for j in range(len(substring)-1): //子串中逐个字符与剩余部分比较
if substring[j] in substring[j+1:]: //若字符在子串剩余部分中,即子串有重复字符
break
elif substring[j] not in substring[j+1:]: //若字符不在子串剩余部分中,即目前子串无重复字符
flag = flag + 1
if flag == len(substring)-1:
return len(substring)
今年鹅厂的笔试题,挺简单的,但是不能跳出页面去本地编程调试,我把写的代码复制到本地结果有挺多错误的,哭哭。
自己的代码不简洁不优雅,但逻辑挺好理解的,菜🐔求不喷