leetcode132
leetcode 132 Palindrome Partitioning II
1. 题目大意
求最少切割多少次,才能将一个字符串变为全部为回文字串。
2. 解题思路
这道题目可以使用暴力进行求解,将当前字符串切割为回文串和剩余字符,然后再递归处理剩余字符串
结果ma,肯定是TLE的,时间复杂度$ n(n-1)… $
根据回文字符串的定义,如果一个字符串为回文字符串,那么在它的两头加上相同的字符,得到的新的字符串也是一个回文字符串。
核心逻辑如下,表示从j到i是否可以为回文字串, 表示到第i个字符需要被切割的最少次数
1 | if dp[j] == dp[i] && (j > i - 2 || dp[j+1][i-1]) { |
3. code
1 | func min(x, y int) int { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.