该程序查找我们可以在python中分割回文的多种方法
假设我们有一个字符串s,我们必须找到分割字符串的方法,以使每个部分都是回文。
因此,如果输入像s=“xyyx”,则输出将为3,因为我们有如下拆分:[“x”,“yy”,“x”],[“x”,“y”,“y“,”x“],[”xyyx“]。
为了解决这个问题,我们将按照以下步骤操作:
n:=s的大小
table:=大小为n+1的列表,并用0填充
桌子[0]:=1
对于0到n范围内的i,执行
sub:=s[从索引j到i]
如果子是回文,那么
table[i]:=table[i]+table[j]
对于0到i-1范围内的j
返回表的最后一个元素
让我们看下面的实现以更好地理解:
示例
class Solution:
def solve(self, s):
n = len(s)
table = [1] + [0] * n
for i in range(n + 1):
for j in range(i):
sub = s[j:i]
if sub == sub[::-1]:
table[i] += table[j]
return table[-1]
ob = Solution()s = "xyyx"
print(ob.solve(s))输入值
"xyyx"
输出结果
3
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短