leetcode 132. 分割回文串 II

news2024/12/25 12:13:26

2023.9.12

         dp算法经典题之回文子串,先联想到 回文子串。 先用传统回文子串的dp方法定义一个二维数组存储该字符串的各子串是否为回文子串。 再定义一个一维dp数组用于存储下标0~i的最小分割次数。  

        初始化:先将该dp数组初始化为最坏情况,即下标0为0,下标1为1。(意思就是一个字符要分割0次,两个字符要分割1次)。

        遍历:核心递推公式为:dp[i] = min(dp[i] , dp[j]+1);  

        直接看代码:

class Solution {
public:
    int minCut(string s) {
        //回文子串经典代码:定义一个二维数组存储子串是否为回文。
        vector<vector<bool>> is_backstr(s.size(),vector<bool>(s.size(),false));
        for(int i=s.size()-1; i>=0; i--)
        {
            for(int j=i; j<s.size(); j++)
            {
                if(s[i] == s[j])
                {
                    if(j - i <= 1) is_backstr[i][j] = true;
                    else is_backstr[i][j] = is_backstr[i+1][j-1];
                }
            }
        }
        //定义dp数组,dp[i]代表下标0~i的最小分割次数
        vector<int> dp(s.size());
        //初始化。 即最少分割次数的最坏情况
        for(int i=0; i<s.size(); i++)
        {
            dp[i] = i;
        }
        //遍历
        for(int i=1; i<s.size(); i++)
        {
            if(is_backstr[0][i]) dp[i] = 0; //已经是回文串了,最小分割次数为0
            for(int j=0; j<i; j++)
            {
                if(is_backstr[j+1][i])
                {
                    dp[i] = min(dp[i] , dp[j]+1);
                }
            }
        }
        return dp[s.size()-1];
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1003331.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小米汽车进入生产调试冲刺阶段,雷军率队完成夏季新车路测

小米汽车通州生产基地即将进入生产调试冲刺阶段&#xff0c;小米集团董事长雷军率领小米汽车高层最近已经在新疆完成夏季新车路测&#xff0c;以争取在获得相关批文后尽快进入新车量产。 小米汽车的整个基地包括六个车间&#xff1a;压铸、冲压、车身、涂装、总装和电池。小米汽…

SpringBoot整合SSM-junit测试

前提 &#xff1a;创建一个新的springboot模块 创建一个员工案例(搭建) 创建员工实体类创建员工的控制层创建员工的服务层&#xff08;接口–实现类&#xff09;创建员工的数据层&#xff08;接口–实现类&#xff09; 以上的4种文件 是使用SSM必备的文件 创建员工实体类 属性…

vue3 element plus表格导出为excel自定义表头

新建一个out_excel.js文件并调用 import * as XLSX from "xlsx";export const exportToExcel (tableData, tableName, sheetName, fileName) > {const ws XLSX.utils.aoa_to_sheet([...[tableName], ...tableData]); // tableName为表头&#xff0c;tableData为…

【python自动化】Playwright基础教程定位操作

上文我们已经能够成功进行登录操作了。对于里面的一些定位方式&#xff0c;输入&#xff0c;点击等操作&#xff0c;在这一节&#xff0c;我们直接进行一个大汇总。以后遇到直接来这里搜。 定位操作 定位操作都在Page类下。养成看源码的习惯&#xff0c;结合官方文档&#xf…

这场科技巨变,有生之年有希望

见到一文&#xff0c;遂分享欲爆棚&#xff0c;总结如下。 具有人类水平的人工智能大约什么时候可以出现&#xff1f; 人类水平的人工智能&#xff0c;指的是&#xff0c;不需要借助人类&#xff0c;机器能够比人类更好地完成每项任务。 针对这个问题&#xff0c;有家机构在201…

Redis高效、安全的不停机数据迁移方案

Redis是目前最流行的键值对存储数据库&#xff0c;凭借高性能和丰富的数据类型的特性&#xff0c;不仅可以作为缓存&#xff0c;还可以作为一个可持久化的数据库存储。随着业务的发展和版本的迭代&#xff0c;必然会遇到内存不足、集群节点不够和BUG等一系列问题。为了防止这些…

四川百幕晟科技有限公司:抖音名称最多多少字?

在抖音上&#xff0c;用户可以为其帐户选择昵称&#xff0c;该昵称显示在用户的个人资料中。不过&#xff0c;很多人好奇&#xff0c;一个抖音昵称到底能有多少个字&#xff1f;本文将深入探讨抖音昵称长度限制以及一些最吸引人的昵称示例。 1、抖音昵称长度限制 抖音昵称的长度…

经典逝去,三方确认:iPhone15系列取消静音拨片,改用Action按钮

苹果公司将在9月13日凌晨1点举办秋季特别活动&#xff0c;这次活动将推出许多新产品&#xff0c;其中之一备受关注的是iPhone 15系列。在数月前&#xff0c;关于iPhone 15系列机型的消息早已传出&#xff0c;而最值得一提的变化就是取消自2007年初代iPhone发布以来一直存在的静…

【大数据环境安装】虚拟机安装操作

虚拟机安装操作 创建虚拟机 添加linux的iso镜像文件 开启虚拟机, 进行安装 正在校验, 可直接选择esc退出, 或者等待一会也是OK的 直到出现以下界面,开始选择语言: 结束后 , 点击重启, 然后进入系统, 到此, 虚拟机搭建工作结束 登录, 进入系统

【YOLOv 剪枝 轻量化】融合YOLOv5s与通道剪枝算法的奶牛轻量化个体识别方法(英文版含中文翻译)

融合YOLOv5s与通道剪枝算法的奶牛轻量化个体识别方法 Light-weight recognition network for dairy cows based on the fusion of YOLOv5s and channel pruning algorithm 论文链接知网链接 DOI链接 引用格式&#xff1a; 许兴时&#xff0c;王云飞&#xff0c;华志新&#xf…

全球汽车安全气囊芯片总体规模分析

安全气囊系统是一种被动安全性的保护系统&#xff0c;它与座椅安全带配合使用&#xff0c;可以为乘员提供有效的防撞保护。在汽车相撞时&#xff0c;汽车安全气囊可使头部受伤率减少25%&#xff0c;面部受伤率减少80%左右。 汽车安全气囊芯片是整个系统的控制核心&#xff0c;并…

中秋节包装礼盒样机|素材帮帮站

今天小编来给大家发福利了。中秋节临近&#xff0c;对中秋节礼盒样机愁眉苦展的宝子们看过来。 我们为您精心准备了各种款式、各种风格的中秋节包装礼盒样机素材54款【PSD源文件】&#xff0c;让您轻松打造独一无二的中秋礼盒。 部分效果图如下&#xff1a; 还有更多的素材等…

负载均衡-ribbon源码解析

负载均衡-ribbon源码解析 1 LoadBalanced注解 /*** 基于ribbon调用服务及负载均衡* return*/ LoadBalanced Bean public RestTemplate restTemplate(){return new RestTemplate(); }Bean ConditionalOnMissingBean public RestTemplateCustomizer restTemplateCustomizer(fin…

利用尾部网红的力量:跨境卖家的海外市场营销秘诀

随着互联网的不断发展&#xff0c;海外跨境电商已经成为全球贸易的重要一环。与此同时&#xff0c;社交媒体的兴起也催生了大批的海外网红&#xff0c;他们的粉丝群体庞大&#xff0c;有着巨大的市场潜力。然而&#xff0c;大部分跨境卖家都会集中在热门网红身上&#xff0c;而…

冠达管理:多场学术会议重启 医药板块行情回暖

9月11日&#xff0c;A股医药板块全天强势领涨&#xff0c;主力资金净流入超越50亿元&#xff0c;申万医药生物指数收涨2.62%。细分赛道中&#xff0c;中药、制药、立异药、瘦身药等板块领涨。个股方面&#xff0c;常山药业、金凯生科、通化金马、灵康药业等个股涨超10%。 音讯…

【月度刷题计划同款】从区间 DP 到卡特兰数

题目描述 这是 LeetCode 上的 「96. 不同的二叉搜索树」 &#xff0c;难度为 「中等」。 Tag : 「树」、「二叉搜索树」、「动态规划」、「区间 DP」、「数学」、「卡特兰数」 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种…

Windows11系统下配置JAVA环境变量

一、环境变量的配置 1、右键开始菜单按钮&#xff0c;点击【系统➡高级系统设置】 2、在弹出的系统属性界面点击环境变量 3、在弹出的“环境变量”框&#xff0c;中选择下方的系统变量&#xff0c;点击新建 4、在弹出的“新建系统变量”框中&#xff0c;输入变量名和变量值&am…

vue中v-model应用于表单元素

v-model应用于表单元素 常见的表单元素都可以用v-model绑定关联→快速获取或设置 表单元素的值它会根据控件类型自动选取正确的方法来更新元素 常见的表单元素&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&…

RHCSA-VM-Linux安装虚拟机后的基础命令

1.代码命令 1.查看本机IP地址&#xff1a; ip addr 或者 ip a [foxbogon ~]$ ip addre [foxbogon ~]$ ip a 1&#xff1a;<Loopback,U,LOWER-UP> 为环回2网卡 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP>为虚拟机自身网卡 2.测试网络联通性&#xff1a; [f…

032:vue中三元运算, style、class、type、 event等多种场景示例

第032个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…