链接:132. 分割回文串 II

题解:https://leetcode-cn.com/problems/palindrome-partitioning-ii/solution/xiang-tong-de-si-lu-cong-zui-chang-di-ze-9kfm/

https://leetcode-cn.com/problems/palindrome-partitioning-ii/solution/dong-tai-gui-hua-by-liweiwei1419-2/

class Solution {public:bool is_same(const std::string& s, int begin, int end) {while(begin <= end) {if(s[begin] != s[end]) {return false;}++begin;--end;}return true;}int minCut(string s) {// 两种方法 // 第一种:same[i][j]表示s[i][j]是否为回文串,same[i][j]可以预处理// 第二种:通过is_same判断vector<vector<bool>> same(s.size(), vector<bool>(s.size(), true));for(int len = 2; len <= s.size(); ++len) {for(int j = 0; j+len <= s.size(); ++j) {if(len == 2) {if(s[j] == s[j+len-1]) {same[j][j+len-1] = true;} else {same[j][j+len-1] = false;}} else {if(same[j+1][j+len-2] && s[j] == s[j+len-1]) {same[j][j+len-1] = true;} else {same[j][j+len-1] = false;}} }}vector<int> dp(s.size(), s.size());// dp[i]表示以i下标为末尾字符,的字符串最少分割次数 // dp[i] = min(dp[i], dp[j]+1) //0 <= j < i// 如果s[j+1,i]为回文串,则dp[i]可以由dp[j]+1得来for(int i = 0; i < s.size(); ++i) {//if(is_same(s, 0, i)) {if(same[0][i]) {dp[i] = 0;continue;}for(int j = 0; j < i; ++j) {//if(is_same(s, j+1, i)) {if(same[j+1][i]) {dp[i] = min(dp[i], dp[j]+1);}}}return dp[s.size()-1];}
};

132. 分割回文串 II相关推荐

  1. LeetCode 132. 分割回文串 II(DP)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回符合要求的最少分割次数. 示例: 输入: "aab" 输出: ...

  2. leetcode132. 分割回文串 II

    给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回符合要求的最少分割次数. 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 [ ...

  3. 【数据结构与算法】之深入解析“分割回文串II”的求解思路与算法示例

    一.题目要求 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文,返回符合要求的最少分割次数. 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割就 ...

  4. leetcode132. 分割回文串 II(dp)

    给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文. 返回符合要求的 最少分割次数 . 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割就可将 s ...

  5. LeetCode 1278. 分割回文串 III

    截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...

  6. Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串

    39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...

  7. LeetCode-笔记-131. 分割回文串

    LeetCode-笔记-131. 分割回文串 131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都 ...

  8. 【算法】双指针算法 ( 有效回文串 II )

    算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...

  9. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 第 131 号问题:分割回文串...

    题目来源于 LeetCode 上第 131 号问题:分割回文串.题目难度为 Medium,目前通过率为 45.8% . 题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返 ...

最新文章

  1. 2021年大数据ELK(三):Lucene全文检索库介绍
  2. tensorflow---alexnet training (tflearn)
  3. Spark菜鸟学习营Day5 分布式程序开发
  4. chrome浏览器模拟手机 地理定位
  5. 深度5万字好文:Python应用实战案例-带你深入理解Matplotlib
  6. Self Crossing
  7. 宝塔linux面板假设nextcloud,宝塔面板部署NextCloud(14.0.3)逐一解决后台安全及设置警告...
  8. javaSE知识点汇总
  9. MySQL查看当前的连接信息
  10. Java线程基础回顾及内存模型,看你还记得多少?
  11. 信号与系统2022春季学期:作业内容与参考答案-汇总
  12. 传说中的世界500强面试题-情商
  13. OpenCV探索之路(二十二):制作一个类“全能扫描王”的简易扫描软件
  14. 抑郁症患者自述:从那天起,我走进了地狱
  15. 三维数字沙盘电子沙盘MR AR VR虚拟现实无人机倾斜摄影三维全景建模卫星图片矢量
  16. 非淡泊无以明志,非宁静无以致远
  17. 【游戏设计模式】之三 状态模式、有限状态机
  18. Taro下拉刷新,上拉加载更多
  19. grep -w和grep -e使用
  20. vue中px 转 vh/vw

热门文章

  1. 【Spring开发】—— Spring Core
  2. 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记30 ScrollView Demo实战
  3. 【ASP.NET Web API教程】2 创建各种Web API
  4. 深信服单点登入代理服务取AD
  5. Android Pie(Android 9)跳过 Google 框架 (GApps) 开机验证方法
  6. 大学jsp实验3include指令的使用
  7. Golang错误和异常处理的正确姿势
  8. 1.使用Dotnet core命令建立并且运行项目。
  9. SPOJ OTOCI 动态树 LCT
  10. Oracle SQL 优化原则(实用篇)