在Python中检查字符串是否包含连续降序的程序

假设我们有一个带有一些数字的字符串s,我们必须检查它是否包含连续降序的整数。

因此,如果输入类似于s =“ 99989796”,则输出将为True,因为此字符串保持为[99,98,97,96]

为了解决这个问题,我们将按照以下步骤操作:

  • 定义一个功能helper()。这将花费pos,prev_num

  • 如果pos与n相同,则

    • 返回True

  • num_digits:= prev_num的位数

  • 对于范围在num_digits-1到num_digits中的我,执行

    • num:= s的数字形式[从索引0到i-1]

    • 如果helper(i,num)为true,则

    • 返回True

    • 如果helper(pos + i,prev_num-1),则

    • 返回True

    • 如果s [从索引pos到pos + i-1]和s [从索引pos到pos + i-1]的数值形式与prev_num-1相同,则

    • 返回False

    • 从主要方法,请执行以下操作-

    • n:= s的大小

    • 对于范围1中的i等于n / 2的商

    • 返回False

    让我们看下面的实现以更好地理解-

    示例

    class Solution:

    def solve(self, s):

       n = len(s)

       def helper(pos, prev_num):

       if pos == n:

          return True

       num_digits = len(str(prev_num))

       for i in range(num_digits - 1, num_digits + 1):

          if s[pos:pos+i] and int(s[pos:pos+i]) == prev_num - 1:

             if helper(pos + i, prev_num - 1):

                return True

          return False

       for i in range(1, n//2 + 1):

          num = int(s[:i])

       if helper(i, num):

          return True

       return False

    ob = Solution()s = "99989796"

    print(ob.solve(s))

    输入值

    "99989796"

    输出结果

    True

    以上是 在Python中检查字符串是否包含连续降序的程序 的全部内容, 来源链接: utcz.com/z/354294.html

    回到顶部