测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题