palindrome-partitioning-ii
2019-07-21 本文已影响0人
DaiMorph
状态转移方程.png
class Solution {
public:
int minCut(string s) {
int n=s.length();
if(s.length()<2)return 0;
vector<int>dp;
for(int i=0;i<=n;i++)dp.push_back(n-1-i);
vector<vector<bool>>p(n,vector<bool>(n,false));
for(int i=n-1;i>=0;i--)
{
for(int j=i;j<n;j++)
{
if(s[i]==s[j]&&(j-i<2||p[i+1][j-1]))
{
p[i][j]=true;
dp[i]=min(dp[i],dp[j+1]+1);
}
}
}
return dp[0];
}
};