程序在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
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短