在 Python 中检查字符串是否有 m 个连续的 1 或 0
假设我们有一个二进制字符串s和另一个值m,我们必须检查字符串是否有m个连续的1或m个连续的0。
因此,如果输入类似于s="1110111000111",m=3,那么输出将为True,因为有三个连续的0和1。
为了解决这个问题,我们将按照以下步骤操作-
str_size:=s的大小
计数_0:=0,计数_1:=0
对于0到str_size-2范围内的i,请执行
返回真
计数_0:=0
计数_1:=计数_1+1
计数_1:=0
计数_0:=计数_0+1
如果s[i]与'0'相同,则
否则,
如果count_0与m相同或count_1与m相同,则
返回错误
让我们看看以下实现以获得更好的理解-
示例
def solve(s, m):
str_size = len(s)
count_0 = 0
count_1 = 0
for i in range(0, str_size - 1):
if (s[i] == '0'):
count_1 = 0
count_0 += 1
else :
count_0 = 0
count_1 += 1
if (count_0 == m or count_1 == m):
return True
return False
s = "1110111000111"
m = 3
print(solve(s, m))输入
"1110111000111", 3输出结果
True