132. 分割回文串 II
链接: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相关推荐
- LeetCode 132. 分割回文串 II(DP)
文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回符合要求的最少分割次数. 示例: 输入: "aab" 输出: ...
- leetcode132. 分割回文串 II
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回符合要求的最少分割次数. 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 [ ...
- 【数据结构与算法】之深入解析“分割回文串II”的求解思路与算法示例
一.题目要求 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文,返回符合要求的最少分割次数. 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割就 ...
- leetcode132. 分割回文串 II(dp)
给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文. 返回符合要求的 最少分割次数 . 示例 1: 输入:s = "aab" 输出:1 解释:只需一次分割就可将 s ...
- LeetCode 1278. 分割回文串 III
截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...
- Suzy找到实习了吗 Day27 | 回溯进行中:39. 组合总和,40. 组合总和 II,131.分割回文串
39. 组合总和 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...
- LeetCode-笔记-131. 分割回文串
LeetCode-笔记-131. 分割回文串 131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都 ...
- 【算法】双指针算法 ( 有效回文串 II )
算法 系列博客 [算法]刷题范围建议 和 代码规范 [算法]复杂度理论 ( 时间复杂度 ) [字符串]最长回文子串 ( 蛮力算法 ) [字符串]最长回文子串 ( 中心线枚举算法 ) [字符串]最长回文 ...
- 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 第 131 号问题:分割回文串...
题目来源于 LeetCode 上第 131 号问题:分割回文串.题目难度为 Medium,目前通过率为 45.8% . 题目描述 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返 ...
最新文章
- 2021年大数据ELK(三):Lucene全文检索库介绍
- tensorflow---alexnet training (tflearn)
- Spark菜鸟学习营Day5 分布式程序开发
- chrome浏览器模拟手机 地理定位
- 深度5万字好文:Python应用实战案例-带你深入理解Matplotlib
- Self Crossing
- 宝塔linux面板假设nextcloud,宝塔面板部署NextCloud(14.0.3)逐一解决后台安全及设置警告...
- javaSE知识点汇总
- MySQL查看当前的连接信息
- Java线程基础回顾及内存模型,看你还记得多少?
- 信号与系统2022春季学期:作业内容与参考答案-汇总
- 传说中的世界500强面试题-情商
- OpenCV探索之路(二十二):制作一个类“全能扫描王”的简易扫描软件
- 抑郁症患者自述:从那天起,我走进了地狱
- 三维数字沙盘电子沙盘MR AR VR虚拟现实无人机倾斜摄影三维全景建模卫星图片矢量
- 非淡泊无以明志,非宁静无以致远
- 【游戏设计模式】之三 状态模式、有限状态机
- Taro下拉刷新,上拉加载更多
- grep -w和grep -e使用
- vue中px 转 vh/vw
热门文章
- 【Spring开发】—— Spring Core
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记30 ScrollView Demo实战
- 【ASP.NET Web API教程】2 创建各种Web API
- 深信服单点登入代理服务取AD
- Android Pie(Android 9)跳过 Google 框架 (GApps) 开机验证方法
- 大学jsp实验3include指令的使用
- Golang错误和异常处理的正确姿势
- 1.使用Dotnet core命令建立并且运行项目。
- SPOJ OTOCI 动态树 LCT
- Oracle SQL 优化原则(实用篇)