该程序在Python中找到最长的字母词组子序列的长度

假设我们有两个小写的字符串S和T,我们必须找到最长的字谜子序列的长度。

因此,如果输入类似于S =“ helloworld”,T =“ hellorld”,则输出将为8

  • 为了解决这个问题,我们将遵循以下步骤-

  • c:=新映射,d:=新映射

  • 对于介于0到a大小的i,执行

    • c [a [i]]:= 1

    • c [a [i]]:= c [a [i]] + 1

    • 如果c中的a [i],则

    • 除此以外,

    • 对于0到b大小的i,执行

      • d [b [i]]:= 1

      • d [b [i]]:= d [b [i]] + 1

      • 如果d中的b [i],则

      • 除此以外,

      • res:= 0

      • 对于c中的每个ch,

        • res:= res + c [ch]和d [ch]的最小值

        • 如果d [ch]> 0,则

      • 返回资源

      让我们看下面的实现以更好地理解-

      示例

      class Solution:

         def solve(self, a, b):

            c, d = {}, {}

            for i in range(len(a)):

               if a[i] in c:

                  c[a[i]] += 1

               else:

                  c[a[i]] = 1

            for i in range(len(b)):

               if b[i] in d:

                  d[b[i]] += 1

               else:

                  d[b[i]] = 1

            res = 0

            for ch in c:

               if d.get(ch, 0) > 0:

                  res += min(c[ch], d[ch])

               return res

      ob = Solution()S = "helloworld"

      T = "hellorld"

      print(ob.solve(S, T))

      输入值

      S = "helloworld", T = "hellorld"

      输出结果

      1

      以上是 该程序在Python中找到最长的字母词组子序列的长度 的全部内容, 来源链接: utcz.com/z/347211.html

      回到顶部