使用Python查找分割字符串的好方法的数量的程序

使用Python查找分割字符串的好方法的数量的程序

假设我们有一个字符串s。现在,当我们可以将s拆分为2个非空字符串p和q且它们的连接等于s且p和q中不同字母的数量相等时,我们称分割为好的。我们必须找到可以在s中进行的好的分割数量。

因此,如果输入值为s =“ xxzxyx”,则输出值为2,因为有多种分割方式,但如果我们像(“xxz”,“xyx”)或(“xxzx”,“yx”)那样分割它们是好的。

要解决此问题,我们将按以下步骤进行−

  • result:= 0

  • left:计算“项”频率的空mal

  • right:计算s中出现的每个字符的频率

  • 对于s中的每个c,执行以下操作

    • left[c]:= left[c]+1

    • right[c]:= right[c]-1

    • 如果right[c]为零,则

      • 删除right[c]
    • 如果左侧的大小与右侧的大小相同,则
      • result:= result+1
  • 返回结果

让我们看看以下实现,以获得更好的理解−

from collections import Counter
def solve(s):
   result = 0
   left, right = Counter(), Counter(s)
   for c in s:
      left[c] += 1
      right[c] -= 1
      if not right[c]:
         del right[c]
      if len(left) == len(right):
         result += 1
   return result
s =“ xxzxyx”
print(solve(s))

输入

“ xxzxyx”

输出

2

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程