题目链接
目标:确定n个切割点,将整个字符串分成n+1段,每一段都是回文。
逐个确定分割点
凡是回文的子串都可以作为第一个分割点,满足条件的不同的第一个分割点之间没有优先之分,所以每种分割方法都要遍历。
可以使用带memo的递归。
可以递归必然可以DP。
DP是基于已经解决的小问题来汇聚处理大问题。
难点在于将大问题切开。
这道题目是典型的切黄瓜式的DP,可以从头或者尾切去一部分数据转化为小规模的问题。
以上两种思路都有优化空间
第一种思路每次处理要找某个字符后面可以构成回文的下一个字符,可以预处理好。
第二种思路每次都要找某个字符前面可以构成回文的前一个字符,从后往前切
要是从前往后切,其实本质就一样了。