在 Python 中查找所有子字符串的美的总和的程序

假设我们有一个字符串 s。我们必须找到它所有子串的美的总和。字符串的美妙实际上在于最频繁和最不频繁的字符之间的频率差异。所以如果字符串是“abaacc”,那么它的频率是 3 - 1 = 2。

所以,如果输入像 s = "xxyzy",那么输出将是 5,因为具有非零美的子串是 ["xxy","xxyz","xxyzy","xyzy","yzy"],每个都有美颜值 1。

示例

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

from collections import Counter

def solve(s):

   res=0

   for i in range(len(s)):

      for j in range(i+2,len(s)):

         c=Counter(s[i:j+1])

         v=c.values()

         res+=(max(v)-min(v))

   return res

s = "xxyzy"

print(solve(s))

输入

"xxyzy"
输出结果
5

以上是 在 Python 中查找所有子字符串的美的总和的程序 的全部内容, 来源链接: utcz.com/z/345740.html

回到顶部