使用Python编写检查二进制字符串最多有一个一段还是没有
假设我们有一个二进制字符串s(不带前导零),我们必须检查s是否包含最多一个连续的一段。
所以,如果输入是s =“11100”,那么输出将为True,因为有一个一段“111”。
要解决此问题,我们将遵循以下步骤−
- 计数:= -1
-
如果s的大小与1相同,则
- 返回True
- 对于s中的每个i,执行以下操作
- 如果i与“1”相同且计数> -1,则
- 返回False
- 否则,当i等于“0”时,
- count:= count + 1
- 如果i与“1”相同且计数> -1,则
- 返回True
让我们看以下实现,以更好地理解−
例子
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