在Python中找出相同大小的字符串的程序
假设我们有一个由小写字母和另一个整数“j”组成的字符串“i”。我们必须找出有多少个字符串,这些字符串等于'i'的大小,并且在字典上小于或等于'i'并且没有连续的等于'j'的相等字符。
必须通过找到Mod的结果乘以10^9+7来计算答案。
因此,如果输入像i=“app”,j=2,则输出将为405。
在线示例
让我们看下面的实现以更好地理解-
class Solution:
def solve(self, s, k):
if k <= 0:
return 0
MOD = 10 ** 9 + 7
n = len(s)
nums = [ord(char) - ord("a") for char in s]
def dp(pos, bound, last, count):
if count > k:
return 0
if pos == n:
return 1
num = nums[pos]
res = 0
for i in range(num + 1 if bound else 26):
res += dp(pos + 1, bound and i == num, i, count * (i == last) + 1)
return res
return dp(0, True, -1, 0) % MOD
ob = Solution()
print(ob.solve('app',2))输入值
i = "app" j = 2输出结果
405
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语