计算操作以在 Python 中删除连续相同位的程序
假设我们有一个二进制字符串s,现在让我们考虑一个操作,我们选择一个位并将其值从0翻转到1,反之亦然。我们必须找到获得没有三个相同连续位的字符串所需的最少操作次数。
因此,如果输入类似于s="10011100",那么输出将为1,因为我们可以将索引4处的位从1翻转为0,从而使字符串"10010100"没有三个连续的相同位。
示例
让我们看看以下实现以获得更好的理解-
def solve(s):
l = 0
count = 0
while l < len(s):
r = l
while r < len(s) and s[r] == s[l]:
r += 1
count += (r - l) //3
l = r
return count
s = "10011100"
print(solve(s))输入
"10011100"输出结果
1
热门推荐
10 南宁招生老师祝福语简短
11 画室揭牌仪式祝福语简短
12 朋友的孩子祝福语简短
13 虎年春节拜年祝福语简短
14 元旦感恩祝福语简短大全
15 品牌入驻祝福语简短
16 学生老师离职祝福语简短
17 进新房的祝福语 简短
18 小姨看孩子祝福语简短