首页 > 其他分享 >132. 分割回文串 II

132. 分割回文串 II

时间:2023-07-12 17:23:20浏览次数:32  
标签:分割 int II 132 vector 回文 dp size

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。

返回符合要求的 最少分割次数 。

 

示例 1:

输入:s = "aab"
输出:1
解释:只需一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。

> 动态规划


class Solution {
public:
    int minCut(string s) {
        vector<vector<int>> dp(s.size(),vector<int>(s.size(),1));
        for(int i = s.size()-1;i >= 0;i--){
            for(int j = s.size()-1;j > i;j--){
                if(s[i] == s[j]){
                    dp[i][j] = dp[i+1][j-1];
                }
                else{
                    dp[i][j] = 0;
                }
            }
        }
        int n = s.size();
        vector<int> f(n);
        for(int j = 1; j < n; j++) {
            if(dp[0][j])
                f[j] = 0;
            else {
                f[j] = f[j-1] + 1;
                for(int i = 1; i < j; i++) {
                    if(dp[i][j])
                        f[j] = min(f[j], f[i-1] + 1);
                }
            }
        }
        return f[n-1];
    }
};

标签:分割,int,II,132,vector,回文,dp,size
From: https://www.cnblogs.com/lihaoxiang/p/17548270.html

相关文章

  • 5. 最长回文子串
    给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。>动态规划classSolution{public:stringlongestPalindrome(strings){int......
  • 最长回文子串时间复杂度为O(n)的算法
    给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串示例1:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s="cbbd"输出:"bb" 提示:1<=s.length<=1000s仅由数字和英文字母组成来源:力扣(LeetCo......
  • 软件工程与计算II-24-考试总结
    summary1.软件工程应用系统的、规范的、可量化的方法来开发、运行和维护软件,即将工程应用到软件。对1)中各种方法的研究。2.五十年代到00年代的特点1950s:科学计算;以机器为中心进行编程;像生产硬件一样生产软件。1960s:业务应用(批量数据处理和事物计算);软件不同于硬件;用软件工艺的......
  • LeetCode 234. 回文链表
    classSolution{public:ListNode*reverse(ListNode*head)//翻转以head为头节点的链表{if(!head||!head->next)returnhead;autoa=head,b=head->next;while(b){autoc=b->next;b->next=a;......
  • C#连接Redis - Redis教程 (yiibai.com) (转)
    C#连接Redis-Redis教程(yiibai.com)classProgram{staticvoidMain(string[]args){//在Redis中存储常用的5种数据类型:String,Hash,List,SetSortedsetvarclient=newRedisClient("127.0.0.1",6379);//A......
  • CodeForces Gym 102900B Mine Sweeper II
    CF传送门感觉像脑筋急转弯。考虑所有数字之和就是相邻的\((\text{雷},\text{空地})\)对数,因此翻转后这个对数不会改变。然后由于抽屉原理,\(b\toa\)和\(b\to\operatorname{inv}(a)\)中至少有一个操作次数\(\le\left\lfloor\frac{nm}{2}\right\rfloor\),然后就做完了......
  • Vulnhub: Hackable:II靶机
    kali:192.168.111.111靶机:192.168.111.142信息收集端口扫描nmap-A-sC-v-sV-T5-p---script=http-enum192.168.111.142网站的files目录ftp存在匿名登录,所在目录为网站的files目录ftp上传反弹shell提权目标根目录下的.runme.shmd5解密后切换到shrek用户s......
  • 100000之内取回文数
    #include<iostream>/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/usingnamespacestd;intmain(intargc,char**argv){system("pause");intge,shi,bai,qian,wan;......
  • IIC协议介绍
    (1)CSDN学习参考资料1.什么是I2C?I2C全拼InterIntegratedCircuit,简称IIC或I2C,是由Philips公司开发的两线时串行总线,用于SOC与外设的连接通讯,它只需要两根线就能实现I2C的通讯,采用主从模式,主的一方可以读写数据,而从的一方只能等待被读写。从的一方没有主动权。I2C是双向通讯的,由......
  • 什么是ASCII
    ASCII(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码)是一种字符编码标准,旨在统一表示和交换英语使用的基本字符集。ASCII定义了一个包含128个字符的编码表,包括26个大写字母、26个小写字母、数字0至9、标点符号以及一些特殊控制字符。每个字符都使用7......