程序在Python中查找具有i,j和k的x,y,z字母个数的子序列数
假设我们有一个带有“ x”,“ y”和“ z”的字符串s,我们必须找到具有i个“ x”字符,后跟j个“ y”字符和后跟的子序列数k个“ z”字符,其中i,j,k≥1。
因此,如果输入类似于s =“ xxyz”,则输出将为3,因为我们可以使两个“ xyz”和一个“ xxyz”
为了解决这个问题,我们将按照以下步骤操作:
n:= s的大小
x:= 0,y:= 0,z:= 0
对于0到n范围内的i,执行
z:= z * 2
z:= z + y
y:= y * 2
y:= y + x
x:= x * 2
x:= x + 1
计数:= 0
如果s [i]与“ x”相同,则
如果s [i]与“ y”相同,则
如果s [i]与“ z”相同,则
返回z
示例
class Solution:def solve(self, s):
n = len(s)
x = 0
y = 0
z = 0
for i in range(n):
count = 0
if s[i] == "x":
x *= 2
x += 1
if s[i] == "y":
y *= 2
y += x
if s[i] == "z":
z *= 2
z += y
return z
ob = Solution()print(ob.solve("xxyz"))
输入值
"xxyz"
输出结果
3
以上是 程序在Python中查找具有i,j和k的x,y,z字母个数的子序列数 的全部内容, 来源链接: utcz.com/z/330850.html