在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