首页 > 其他 > 详细

leetcode 132 分割回文串II(dp)

时间:2020-03-11 12:21:29      阅读:87      评论:0      收藏:0      [点我收藏+]

(待整理)

题目描述:

 

 

class Solution {
public:
    int minCut(string s) {
        int Len = s.length();
        int dp[Len][Len];
        for(int i=0;i<Len;i++)
        {
            for(int j=0;j<Len;j++) dp[i][j] = INT_MAX;
        }
        for(int i=0;i<Len;i++) dp[i][i] = 0;

        for(int l = 2;l<=Len;l++)
        {
            for(int i = 0;i+l-1<Len;i++)
            {
                int j = i+l-1;
                
                if(s[i] == s[j])
                {
                   
                    if(l == 2 || dp[i+1][j-1] == 0) 
                    {
                        // cout <<i <<" " << j <<endl;
                        dp[i][j] = 0;
                        continue;
                    }   
                    
                }

                for(int k = i;k<j;k++)
                {
                    dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+1][j]+1);
                }
            }
        } 
        
        return dp[0][Len-1];
    }
};

 

leetcode 132 分割回文串II(dp)

原文:https://www.cnblogs.com/z1141000271/p/12461186.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!