在 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