字符串删减(acwing)

给定一个包含n个小写字母的字符串,目标是移除最少数量的字母x,使得字符串中不存在连续三个或以上相同的x。通过遍历字符串,检查连续的三个字母,若为xxx,则计数加一。最后输出计数结果作为需删除的x数。
摘要由CSDN通过智能技术生成

问:给定一个有n个小写字母组成的字符串,规定字符串中不能存在三个或三个以上的字母x,请问最少需要删除多少个x。

解:例如字符串为axxxxi,则需要删除两个x,才能满足要求,则可以用遍历的方法,来找出连续的x

代码:

n = int(input()) #n个小写字母

m = input() #具体的小写字母

count = 0 #来记录需要删除多少个x

for i in range(n):

l =m[i:i+3] #字母的位置,i到i+3,表示连续的三个字母

if l == 'xxx':

count += 1 #只要有三个的,就加1

print(count) #得出有多少个三个x的,就需要删除多少个x。

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值