在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