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];
    }
};
上一篇下一篇

猜你喜欢

热点阅读