假设我们有一个二进制字符串 s(没有前导零),我们必须检查 s 是否最多包含一个连续的 1 段。
因此,如果输入类似于 s = "11100",那么输出将为 True,因为有一段“111”。
为了解决这个问题,我们将按照以下步骤操作 -
计数:= -1
如果 s 的大小等于 1,则
返回真
对于 s 中的每个 i,执行
计数 := 计数 + 1
返回错误
如果 i 与“1”相同且计数 > -1,则
否则当 i 与“0”相同时,则
返回真
让我们看看以下实现以获得更好的理解 -
def solve(s): count = -1 if len(s)==1: return True for i in s: if i=="1" and count>-1: return False elif i=="0": count+=1 return True s = "11100" print(solve(s))
11100输出结果
True