Python 中检查字符串是否包含 m 个连续的 1 或 0
假设我们有一个二进制字符串 s 和另一个值 m,我们需要检查该字符串是否包含 m 个连续的 1 或 m 个连续的 0。
因此,如果输入类似于 s = "1110111000111",m = 3,则输出将为 True,因为存在三个连续的 0 和 1。
为了解决这个问题,我们将遵循以下步骤:
- str_size := s 的大小
- count_0 := 0,count_1 := 0
- 对于 i 从 0 到 str_size - 2,执行以下操作:
- 如果 s[i] 等于 '0',则
- count_1 := 0
- count_0 := count_0 + 1
- 否则,
- count_0 := 0
- count_1 := count_1 + 1
- 如果 count_0 等于 m 或 count_1 等于 m,则
- 返回 True
- 如果 s[i] 等于 '0',则
- 返回 False
让我们看看下面的实现,以便更好地理解:
示例
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
广告