在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

以上是 在Python中以排序形式查找字符串的回文子字符串的计数 的全部内容, 来源链接: utcz.com/z/327635.html

回到顶部