A33760. 编程实现给定一个字符串 S (5<S 长度<50) ,请找出 S 中不含重复字符的最长子串的长度。例如:s 为 ababc,其中 ababaababbababc,均为包含重复字符 的子串;而 ababbc 均为不含重复字符的子串,最长子串有 abc,所以不含重复字符的最长子串的长度为 3。 输入描述输入一个字符串 S (5<S 长度<50) 输出描述输出一个整数,表示 S 中不含重复字符的最长字…
填空题
困难
知识点
题目描述
编程实现
给定一个字符串 S (5<S 长度<50) ,请找出 S 中不含重复字符的最长子串的长度。
例如:s 为 ababc,其中 ababaababbababc,均为包含重复字符 的子串;而 ababbc 均为不含重复字符的子串,最长子串有 abc,所以不含重复字符的最长子串的长度为 3。
输入描述
输入一个字符串 S (5<S 长度<50)
输出描述
输出一个整数,表示 S 中不含重复字符的最长字串的长度
输入样例
ababc
输出样例
3
参考答案
def finduniquesub(s):
n = len(s) #子串长度
m = 1 #子串个数
while True:
for i in range(m): #0
s1 = s[i:i+n]
set1 = set(s1) #集合可以去重
if len(set1) == len(s1):
return len(set1)
n -= 1
m += 1
ss = input()
res = finduniquesub(ss)
print(res)
上一题
下一题