在Python中以排序形式查找字符串的回文子字符串的计数
假设我们有一串小写字符(都是ASCII字符),我们必须找到给定字符串的所有不同的连续回文子串。
因此,如果输入类似于“level”,那么输出将为7,因为有七个子字符串['level','eve','l','e','v','e','l']。
在线示例
让我们看看以下实现以获得更好的理解-
N = 26
def all_palindrome_substr_count(str):
n = len (str)
sum = 0
my_map = [0] * N
for i in range(n):
my_map[ord(str[i]) - ord('a')] += 1
for i in range(N) :
if (my_map[i]):
sum += (my_map[i] * (my_map[i] + 1) //2)
return sum
str = "level"
print (all_palindrome_substr_count(str))输入
"level"输出结果
7