当前位置: 高中信息技术 / 单选题
  • 1. (2023高二上·宁波期末) 寻找最长无重复数字子串。输入一串仅由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)处代码依次为(   )

    A . ①④③ B . ③⑤① C . ②④① D . ①⑤②

微信扫码预览、分享更方便