在 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

    以上是 在 Python 中检查字符串是否有 m 个连续的 1 或 0 的全部内容, 来源链接: utcz.com/z/341461.html

    回到顶部