当前位置: 首页 > news >正文

力扣132. 分割回文串 II

力扣132. 分割回文串 II

题目

在这里插入图片描述

题目解析及思路

题目要求返回将s切割成若干回文串的最少切割次数

对于子串s[j...i],若为回文串,则问题变为求s[0...j]的最少切割次数

因此可以考虑动态规划

对于问题s[j...i]是否为回文串,若s[i] == s[j]则问题变成s[j+1...i-1]是否为回文串

因此也可以考虑动态规划

代码

class Solution {
public:
    int minCut(string s) {
        int n = s.size();
        vector<int> f(n+1,INT_MAX);
        vector<vector<bool>> isPalindrome(n, vector<bool>(n, false));
		
        //倒着遍历i
        //子问题isPalindrome[i + 1][j - 1]已经更新过
        for (int i = n - 1; i >= 0; --i) {
            for (int j = i; j < n; ++j) {
                if (s[i] == s[j] && (j - i < 2 || isPalindrome[i + 1][j - 1])) {
                    isPalindrome[i][j] = true;
                }
            }
        }
        //试出来的
        f[0] = -1;
        //动态规划
        for(int i=0;i<n;i++){
            for(int j=i;j>=0;j--){
                if(f[j] < INT_MAX && isPalindrome[j][i]){
                    f[i+1] = min(f[i+1],f[j] + 1);
                }
            }
        }
        return f[n];
    }
};
http://www.dtcms.com/a/53659.html

相关文章:

  • 传统工厂转型实录:1套WMS系统如何砍掉40%仓储成本
  • 信奥赛CSP-J复赛集训(DP专题)(16):P1203 [USACO1.1] 坏掉的项链 Broken Necklace
  • 【Qt QML】Loader动态加载组件
  • 【SegRNN 源码理解】图示理解 forward的过程
  • Kanna 与 Swift:结合使用提升网络请求效率
  • vue3,Element Plus中隐藏树el-tree滚动条
  • AIP-160 过滤
  • 采用OllamaSharp实现.NET快速对接deepseek实现聊天、模型管理、流式响应等功能
  • 统计作业提交情况python脚本
  • css错峰布局/瀑布流样式(类似于快手样式)
  • JVM参数调整
  • SAP的错误:General error 339 invalid number
  • 文献学习——考虑混合储能系统选择的基于改进蜂群算法的热电联产微网多目标经济优化调度
  • 攻防世界WEB(新手模式)19-file_include
  • Hadoop、Hive、Spark的关系
  • 盛铂科技 SLMF315频率综合器200MHz至15GHz 国产频综模块
  • 2024华为OD机试真题-磁盘容量排序算法(C++)-E卷B卷-100分
  • linux 使用阿里云盘 阿里网盘
  • 我的两个医学数据分析技术思路
  • UI自动化:利用百度ocr识别解决图形验证码登录问题
  • 实验一:在Windows 10/11下配置和管理TCP/IP
  • 【0012】Python函数详解
  • 深入理解CAS与乐观锁:Java高并发编程实战指南
  • 2021年高教社杯全国大学生数学建模A题——基于几何模型的“FAST”主动反射面的形状调节
  • ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)
  • 快捷键输出 打开 特定文件夹+资源管理器
  • AI-Ollama使用llama模型vue2中流式响应,模仿AI提问逐字渲染,呈现打印机效果
  • C++ 重载运算符
  • 工程化与框架系列(21)--前端性能优化
  • 【高分论文密码】AI大模型和R语言的全类型科研图形绘制,从画图、标注、改图、美化、组合、排序分解科研绘图每个步骤