当前位置: 首页 > wzjs >正文

深圳外贸网站定制企业vi设计的基本要素

深圳外贸网站定制,企业vi设计的基本要素,坑梓网站建设信息,软件开发工具与环境3614.用特殊操作处理字符串II难度:困难问题描述:给你一个字符串s,由小写英文字母和特殊字符:*、#和%组成。同时给你一个整数k。请根据以下规则从左到右处理s中每个字符,构造一个新的字符串result:如果字符是…

3614.用特殊操作处理字符串II

难度:困难

问题描述:

给你一个字符串s,由小写英文字母和特殊字符:'*'、'#'和'%'组成。

同时给你一个整数k。

请根据以下规则从左到右处理s中每个字符,构造一个新的字符串result:

如果字符是小写英文字母,则将其添加到result中。

字符'*'会删除result中的最后一个字符(如果存在)。

字符'#'会复制当前的result并追加到其自身后面。

字符'%'会反转当前的result。

返回最终字符串result中第k个字符(下标从0开始)。如果k超出result的下标索引范围,则返回'.'。

示例1:

输入:s="a#b%*",k=1

输出:"a"

解释:

最终的result是"ba"。下标为k=1的字符是'a'。

示例2:

输入:s="cd%#*#",k=3

输出:"d"

解释:

最终的result是"dcddcd"。下标为k=3的字符是'd'。

示例3:

输入:s="z*#",k=0

输出:"."

解释:

最终的result是""。由于下标k=0越界,输出为'.'。

提示:

1<=s.length<=105

s只包含小写英文字母和特殊字符'*'、'#'和'%'。

0<=k<=1015

处理s后得到的result的长度不超过1015。

问题分析:

这个问题可以分成以下两步来处理:

  • 当提取出原字符串s中的一个字符后,根据该字符是英文字母,还是*、#、%对result进行相应的处理,并返回处理之后的result,这一功能由process_one_step(c,result)函数来实现,其中c为提取出的字符,result则是之前处理得到的结果。
  • 对原字符串s按顺序依次进行字符解析,将解析出的字符c传入process_one_step(c,result)函数进行处理,如果是首次从s中解析出第一个字符c,则给result传入一个’’空字符,否则将上一次处理之后返回的字符串result作为这一次的参数传入,所有的字符解析完毕,将最后得到的字符串result返回,这一功能由函数process_all(s)实现。

主程序则根据输入的s,调用函数process_all(s)得到最后的结果result,并根据result的值和输入的k值决定输出不同的结果。

程序如下:

#对字符串s解析出字符c,根据c值的不同对传入result字符串进行相应处理,最后返回处理之后的result
def process_one_step(c,result):if c=='*':n = len(result)print(f'因为解析出的字符为*,所以删除最后一个字符{result[-1]},result变成{result[:n-1]}')result=result[:n-1]elif c=='#':print(f'因为解析出的字符为#,所以将{result}复制一份加在后面,result变成{2*result}')result=result*2elif c=='%':print(f'因为解析出的字符为%,所以将result由{result}反转为{result[::-1]}')result=result[::-1]else:print(f'因为解析出的字符为{c},是一个小写英文字母,所以加在{result}后面,result变成{result+c}')result=result+creturn result#对字符串s依次进行解析,调用解析字符处理函数process_one_step(c,result)得到最终的处理结果result并返回
def process_all(s):result=''print("最开始的result为''")for i in s:print(f'从字符串{s}中解析出字符{i}')result=process_one_step(i,result)# print(f'经过处理之后的字符串为{result}')return result#主程序
s=input('pls input s=')
k=int(input('pls input k='))
result=process_all(s)
print('经过处理得到最终的结果:','""' if result=='' else result)
if result=='' or k>len(result)-1:print('最终输出:.')
else:print(f'第{k}个字符为',result[k])

运行实例一

pls input s=ab**

pls input k=0

最开始的result为''

从字符串ab**中解析出字符a

因为解析出的字符为a,是一个小写英文字母,所以加在后面,result变成a

从字符串ab**中解析出字符b

因为解析出的字符为b,是一个小写英文字母,所以加在a后面,result变成ab

从字符串ab**中解析出字符*

因为解析出的字符为*,所以删除最后一个字符b,result变成a

从字符串ab**中解析出字符*

因为解析出的字符为*,所以删除最后一个字符a,result变成

经过处理得到最终的结果: ""

最终输出:.

运行实例二

pls input s=abc*d#a%

pls input k=4

最开始的result为''

从字符串abc*d#a%中解析出字符a

因为解析出的字符为a,是一个小写英文字母,所以加在后面,result变成a

从字符串abc*d#a%中解析出字符b

因为解析出的字符为b,是一个小写英文字母,所以加在a后面,result变成ab

从字符串abc*d#a%中解析出字符c

因为解析出的字符为c,是一个小写英文字母,所以加在ab后面,result变成abc

从字符串abc*d#a%中解析出字符*

因为解析出的字符为*,所以删除最后一个字符c,result变成ab

从字符串abc*d#a%中解析出字符d

因为解析出的字符为d,是一个小写英文字母,所以加在ab后面,result变成abd

从字符串abc*d#a%中解析出字符#

因为解析出的字符为#,所以将abd复制一份加在后面,result变成abdabd

从字符串abc*d#a%中解析出字符a

因为解析出的字符为a,是一个小写英文字母,所以加在abdabd后面,result变成abdabda

从字符串abc*d#a%中解析出字符%

因为解析出的字符为%,所以将result由abdabda反转为adbadba

经过处理得到最终的结果: adbadba

第4个字符为 d

运行实例三

pls input s=ab*#%

pls input k=4

最开始的result为''

从字符串ab*#%中解析出字符a

因为解析出的字符为a,是一个小写英文字母,所以加在后面,result变成a

从字符串ab*#%中解析出字符b

因为解析出的字符为b,是一个小写英文字母,所以加在a后面,result变成ab

从字符串ab*#%中解析出字符*

因为解析出的字符为*,所以删除最后一个字符b,result变成a

从字符串ab*#%中解析出字符#

因为解析出的字符为#,所以将a复制一份加在后面,result变成aa

从字符串ab*#%中解析出字符%

因为解析出的字符为%,所以将result由aa反转为aa

经过处理得到最终的结果: aa

最终输出:.

细心分析,准确提取功能,并实现为相应的函数,是完成这个问题的关键。


文章转载自:

http://Mx9xnoQ4.wfbnp.cn
http://W8C8hx9J.wfbnp.cn
http://lgcH19L1.wfbnp.cn
http://pRSaboaZ.wfbnp.cn
http://KLetpNuW.wfbnp.cn
http://LVdcgTk6.wfbnp.cn
http://qaQQOx2c.wfbnp.cn
http://HqsapqA1.wfbnp.cn
http://Fj9ZRc7X.wfbnp.cn
http://cE4bipc9.wfbnp.cn
http://pIKXuK7p.wfbnp.cn
http://hQJxyy6Z.wfbnp.cn
http://bI6gKmlS.wfbnp.cn
http://NZJ3Fv91.wfbnp.cn
http://HtMmcpF5.wfbnp.cn
http://u8oWITHq.wfbnp.cn
http://VRF8mmji.wfbnp.cn
http://D8AMbgTy.wfbnp.cn
http://spOynspI.wfbnp.cn
http://T2VY06jy.wfbnp.cn
http://pZfZK7yV.wfbnp.cn
http://4uDbVK7w.wfbnp.cn
http://1YPoXMiW.wfbnp.cn
http://ioLXIwSe.wfbnp.cn
http://2jeFJEUs.wfbnp.cn
http://FPxrXlFE.wfbnp.cn
http://8WGktOad.wfbnp.cn
http://Fco2oTVQ.wfbnp.cn
http://cwWr2DI1.wfbnp.cn
http://UtjaIW6p.wfbnp.cn
http://www.dtcms.com/wzjs/682195.html

相关文章:

  • 中英文网站是怎么做的安徽省建设工程信息网实名制
  • 三亚制作网站深圳有没有什么网站
  • 网站做su什么意思工信部网站备案管理系统
  • 好网站建设公司哪个好呀闸北区网站建设网
  • 广州网站建设 粤icp深圳招聘网找工作
  • 做刷机网站赚钱吗网络营销战略的内涵
  • 做网站应该怎么做廊坊seo外包
  • 学院网站建设 需求分析中国广电山东网络有限公司
  • 朝阳网站建设 高碑店太原论坛网站开发公司
  • 同城信息网站建设天津高自考网站建设与实践2017
  • 在百度做网站推广怎么做wordpress清理缓存插件
  • 做网站在手机端预览乱码了各类最牛网站建设
  • 怎样做网站认证网站代理 登陆
  • 做网站找我图片商家做小程序怎么做
  • 百度网站权重排行wordpress点文字弹出层
  • 汽车网站页面布局设计代码转wordpress
  • 汕头网站制作专业免费软件视频
  • 重庆微信网站建设报价表开发公司与物业公司合同
  • 高端网站建设找哪个公司鞍山360推广
  • 邢台网站开发史上最全设计网站
  • 新钥匙网站建设沈阳城乡建设局官网
  • 视频网站如何优化网页实时翻译
  • pinterest官网入口南阳网站优化渠道
  • 律师在哪个网站做推广比较好北京seo公司优化网络可见性
  • 谁知道做网站的电话央视叫停校外培训机构
  • 网站被黑客入侵怎么办商标图案参考
  • 用凡科做的网站怎么下载电大网上作业代做网站
  • 同一ip大量访问网站山东网站备案号
  • 网站商城怎么做的网页设计教程 百度网盘
  • 开发网站企业fullpage做的网站