本文共 808 字,大约阅读时间需要 2 分钟。
给定一个字符串,请找出其中不含有重复字符的最长子串的长度。
分析: 针对此题目,我的第一想法是遍历整个列表,将不重复的元素放在新列表中。实现起来很简单:list1 = list(input())n = len(list1)list2 = []for i in range(n): if list1[i] not in list2: list2.append(list1[i]) else: breakprint(list2)print(len(list2))
其中,列表1用来记录所有的元素;列表2用来存储不重复元素。
上面的程序得到的是不重复元素所组成的列表,还不能称之为子串。若要得到最长子串,应找出该列表中所有子串然后通过比较得到最长子串。代码如下:list1 = list(input())n = len(list1)list2 = []result = []for i in range(n):#遍历列表 for j in range(i,n): if list1[j] not in list2: list2.append(list1[j]) else: break result.append(len(list2)) print(list2) list2 = [] print(max(result))
输入描述:
一行一个字符串 输出描述: 输出一个数字表示最长子串的长度 算例一: 输入: abcabcbb 输出: 3 算例二: 输入: pwwkew 输出: 3转载地址:http://qtqez.baihongyu.com/