寻找最长无重复数字子串。输入一串仅由0~9组成的数字字符串,找出其中不含有重复字符的最长子串,若有多个长度相同的子串,则输出最后一个。如:输入数字字符串"1231255768",其最长的无重复数字子串有"3125"、"5678",则输出"5678",长度为4。实现该功能的python程序如下:
defrepeat(s,x,y):#判断字符串s从位置x到y是否有重复字符
#无重复返回True(若x=y,为无重复),有重复返回Flase,代码略。
s1=input("请输入一个数字字符串: ")
len=len(s1)
left,right,maxlen=0,0,0
while right<len:
if not repeat(s1,left,right):
⑴
else:
if ⑵ :
maxlen=right-left+1
s2=s1[left:right+1]
⑶
print("最长无重复子串为: ",s2,"长度是: ",maxlen)
加框处的可选代码为:
①left+=1 ②right+=1 ③right-=1
④right-left>maxlen ⑤right-left+1>=maxlen
为使程序正确运行, 则程序段(1)(2)(3)处代码依次为( )