

第1页 / 共4页

第2页 / 共4页
试读已结束,还剩2页,您可下载完整版后进行离线阅读
THE END
1.答案(1)ZDBDBZDBDB(2)①j=8tart[i]+1②tept=s[j]③ans+s+1:】2.(1)8:4或8:04或8点4分等(2)①rs[m2]-=1②totr8+rs[i】⑧sumrs+1④1603.(1)4(2)①1一1)*(十1)②[t+b[t11=x或b[t+1+11=x东清中学2024学年高二信息备课组校本作业③cnt+dist(a[i】,cnt)④b[8+1:8+1+b[s]]课时11算法程序实现的综合应用一模拟算法【课后作业】1.数据在网络传输中,带宽是宝贵的资源,通过压缩传输的字符串,可以减少数据量,从而加快传输速度,节省带宽资源。现有一种字符压缩方法描述如下:对于连续的若干个相同的子串“X”会压缩为“[DX]”的形式(D是一个整数且1≤D≤99),如字符串“ABABABAB”就压缩为“[4AB]”或者“[2[2AB]”,类似于后面这种压缩之后再压缩的称为二重压缩。如果是“[2[2[2AB]]”则是三重的。现给出一串压缩后的结果,并对其进行解压缩。思路:先找出每个左括号的位置,然后从后往前枚举,找出每一个括号内要解压的子串以及要解压的次数,将子串解压后得到一个新串,重复操作,得到最终的解压缩结果。例如:[2[2[2AB]→[2[2ABAB]]→[2 ABABABAB]→ABABABABABABABAB.(1)已知采用上述压缩方法得到的压缩结果是“[2Z[2DB]”,则解压缩结果为ZDBDBZDBDB。(2)根据上述描述,小明利用Python设计了一个解压缩程序,请在划线处填入合适的代码。start [s=input(请输入压缩结果:)for i in range(len(s)):ifs[i]=[”:start.append(i)for i in range(len(start)-1,-1,-1):numF0;temp=”"9t[]+1while j1en(s)and s[j1="]":从最后一个“T”开始,找第一个]if"0<=s[j]<="9":num=num*10+int(s[j])累乘相加法获取数字else:國p+=s[1】字符连接法获取字符j+=1ans=numkt emp将字符重复num次s=s[:start[i]]+③ans+s[j+1:】#重新构造字符串print(解压结果为:"+s)删除当前..]这一段,即start[到s这段然后插入解压后的ans77
请登录后查看评论内容