- maxn=0 初始化最长无重复字符字串的长度
- 初始化字符串长度n,字符串索引left=0,right=0
- 判断right是否超过字符串长度,若超过则执行步骤4,否则判断字符串位置left到位置right是否有重复字符:若重复,则将索引left值修改为left加上存在重复字符索引+1:若不存在重复,则判断该字串长度是否比manx大,若比maxn大,则更新maxn的值。修改right
-
输出maxn的值以及最长不重复子串smax。def search(s,c): for i in range(len(s)): #在字符串s中查找第一次出现字符c的位置 if s[i]==c: return i s=input("请输入字符串:") maxn=0; left=0; right=0;smax="" n=len(s) while right<n: if s[right] in s[left:right]: k=search(s[left:right],s[right]) left=k+1+left else: if right-left+1>maxn: maxn=right-left+1 smax=s[left:right+1] right+=1 print(maxn,smax)
寻找无重复字符的最长字串算法
最新推荐文章于 2024-09-08 15:12:17 发布