Palindrome Partitioning II
Given a string s, partition s such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning of s.
(最少切分字符串,每个子串都是回文序列)
Example:
1. 动态规划
首先维护一个二维矩阵来保存 s[i:j] 是否为回文序列。使用一维动规,初始化 dp 为字符串的索引(默认不存在任何回文序列的部分);在双重循环遍历字符串的过程中判断 s[i:j+1] 是否为回文序列,若是:
- 在i==0时,表示字符串 s[:j+1]为回文序列,则dp[j] = 0
- 否则,取 dp[i-1] + 1 和 dp[j] 的 最小值,也就是在 i 处切分字符串。
具体实现方法:
1 | class Solution: |