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

discuz网站搬家教程wordpress小程序 标签

discuz网站搬家教程,wordpress小程序 标签,网站开发服务费计入哪个科目,wordpress 轮播图 修改问题描述: 给定一个输入字符串,字符串只可能由英文字母(a~z、A~Z) 和左右小括号((、))组成。当字符串里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或…

问题描述:

给定一个输入字符串,字符串只可能由英文字母('a'~'z'、'A'~'Z') 和左右小括号('('、')')组成。当字符串里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或多个英文字母,也可以不包含英文字母。当小括号对内包含多个英文字母时,这些字母之间是相互等效的关系,而且等效关系可以在不同的小括号对之间传递,即当存在'a'和'b'等效和存在'b'和'c'等效时,'a'和'c'也等效,另外,同一个英文字母的大写字母和小写字母也相互等效(即使它们分布在不同的括号对里)

需要对这个输入字符串做简化,输出一个新的字符串,
输出字符串里只需保留输入字符串里的没有被小括号对包含的字符(按照输入字符串里的字符顺序),并将每个字符替换为在小括号对里包含的且字典序最小的等效字符。
如果简化后的字符串为空,请输出为"0"。
示例:
输入字符串为"never(dont)give(run)up(f)()",初始等效字符集合为('d'. 'o'. 'n'. 't')、 ('r'. 'u','n'),由于等效关系可以传递,因此最终等效字符集合为('d', 'o', 'n', 't', 'r', 'u'),将输入字符串里的剩余部分按字典序最小的等效字符替换后得到"devedgivedp"
输入描述
input_string
输入为1行,代表输入字符串
输出描述
output_string
输出为1行,代表输出字符串
补充说明
输入字符串的长度在1~100000之间

()happy(xyz)new(wxy)year(t)
happwnewwear
#说明:等效字符集为('x’, 'y','z’,'w'),输入字符串里没有被小括号包含的子字符串集合为"happynewyear",将其中字符替换为字典序最小的等效字符后输出为:"happwnewwear"
()abcdefgAC(a)(Ab)(C)
AAcdefgAC
#说明:等效字符集为('a', 'A', 'b'),输入字符串里没有被小括号包含的子字符串集合为"abcdefgAC",将其中字符替换为字典序最小的等效字符后输出为:“AAcdefgAC"

解题思路:

根据规则:

  1. 小括号内多个英文字母,这几个英文字母等效
  2. 多个小括号内英文字母的等效关系可以传递
  3. 同一个英文字母的大小写等效

情况判断:

进入小括号内部:

  1. 使用一个set()集合记录等效字母集
  2. 多个英文字母:直接将这几个英文字母加入集合
  3. 一个英文字母:先将这个英文字母加入另一个set()集合,待字符串处理完成时,判断该字母对应的大(小)写字母是否存在于第一个set()集合中,是则加入第一个set()。

或者在小括号外部:

  1. 使用一个list记录不在小括号内的字母
  2. 将等效字母集排序,取第一个(或者set()为空,则是空)
  3. 遍历list,若当前字母在set()中,将当前字母替换为最小等效字母

代码实现:

s = list(input())
s1 = set()#记录小括号内多个英文字母
s2 = set()#记录小括号内单个英文字母
ans = []
i = 0
#处理字符串
while i < len(s):if s[i] == '(':#进入小括号内部i += 1right = iwhile s[right] != ')':right += 1if right-i > 1:#多个for i in range(i,right):s1.add(s[i])elif right-i == 1:#单个s2.add(s[i])i = right+1else:#小括号外部while i < len(s) and s[i] != '(':ans.append(s[i])i += 1  if i == len(s):break
#判断s2中对应的字母大小写是否在s1中
for x in list(s2):if 'a' <= x <= 'z' and x.upper() in s1:s1.add(x)elif 'A' <= x <= 'Z' and x.lower() in s1:s1.add(x)   
k = ''#最小等效字母
s1 = sorted(s1)
if s1:k = s1[0]
for i in range(len(ans)):if ans[i] in s1:ans[i] = k#替换
print(''.join(ans))


文章转载自:

http://foPo5ZCJ.xsgxp.cn
http://HsQlBvXK.xsgxp.cn
http://m2BQxRr6.xsgxp.cn
http://S5r6iwOu.xsgxp.cn
http://kVbA0vzz.xsgxp.cn
http://HrsyfIz0.xsgxp.cn
http://4urm3sEh.xsgxp.cn
http://4z7ESl5b.xsgxp.cn
http://Kqw0YiUZ.xsgxp.cn
http://HzxYoFJT.xsgxp.cn
http://PhD7uTwV.xsgxp.cn
http://XPc5UOuF.xsgxp.cn
http://YvYqhPVx.xsgxp.cn
http://CL5FC0mB.xsgxp.cn
http://eTsG3hXI.xsgxp.cn
http://BeFPG7Fi.xsgxp.cn
http://iakUUVoe.xsgxp.cn
http://g8QyjnWh.xsgxp.cn
http://KeT3DHIq.xsgxp.cn
http://qtBzxqz5.xsgxp.cn
http://cUMdbwFZ.xsgxp.cn
http://jjz5weCd.xsgxp.cn
http://vb1bfG63.xsgxp.cn
http://SlkyT3N7.xsgxp.cn
http://RRMuLT8c.xsgxp.cn
http://pwrZXeX2.xsgxp.cn
http://OJ5ap819.xsgxp.cn
http://7BXLY8dx.xsgxp.cn
http://9s5V4VIr.xsgxp.cn
http://aqzQguKQ.xsgxp.cn
http://www.dtcms.com/wzjs/719861.html

相关文章:

  • 福州seo网站排名网站内怎样做关键词有效果
  • 如何建设数据库搜索网站网站开发 参考文献
  • 怎么建网站做推广开封搜索引擎优化
  • 网站建设体会doc教师专用ppt模板免费下载
  • 获取网站状态营销型网站策划建设分为哪几个层次
  • 做外贸的数据网站打开网站弹出广告代码
  • 哪里建设品牌网站表白网站
  • 国外开源代码网站WordPress头像不能本地化
  • 模板网站什么意思wordpress的开发文档下载
  • html公司网页莱芜网站优化公司
  • 设计师一般用什么网站哪个网站可以做记录视频
  • 学校网站怎么做的好处新世纪建设集团网站
  • 惠州网站建设技术托管江苏缘生源建设工程有限公司网站
  • 电子商务网站优点北京手机网站开发公司
  • 网站建设网页设计服务hao123网站
  • 优化网站推广教程排名做网站先做ue
  • 网站源码网网站 如何添加备案号
  • 做app和网站哪个比较好用小米盒子做网站
  • jsp语言做网站网站备案时 首页
  • 发卡网站建设7az海南网络
  • 公司网站建设需要要求什么网站建设+临沂
  • 建站魔方极速网站建设注册会计师考试科目
  • 哪个网站做译员好十堰网站开发
  • 网站建设基础包括网站页面上的下载功能怎么做
  • 云南昆州建设工程有限公司网站cc0图片素材网站
  • 焦溪翠冠梨做的网站seo数据优化
  • 建设网站简单的需要多少天网站设计论文的参考文献
  • 网站高端设计上海城隍庙门票多少钱
  • 工信部的网站备案信息查询免费版企业查询
  • 石家庄企业网站seo刷关键词排名工具