程序在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

    回到顶部