题目链接:https://leetcode-cn.com/problems/palindrome-partitioning/

题目:

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

返回 s 所有可能的分割方案。

示例:

输入: "aab"
输出:
[
  ["aa","b"],
  ["a","a","b"]
]

解题报告:

先dp预处理出所有所有回文串,然后dfs就行了。如果没要求输出所有方案数,则依旧可以O(n^2) dp出方案数。

AC代码:

class Solution {
public:vector<vector<string>> ans;vector<string> tmp;int length;int dp[1005][1005];void dfs(int pos, string s) {if(pos == length+1) {ans.push_back(tmp);return ;}for(int i = pos; i<=length; i++) {if(dp[pos][i]) {tmp.push_back(s.substr(pos-1,i-pos+1));dfs(i+1,s);tmp.pop_back();}}}vector<vector<string>> partition(string s) {length = s.length();for(int l = 1; l<=length; l++) dp[l][l] = 1;for(int l = 1; l<length; l++) {if(s[l-1] == s[l]) dp[l][l+1] = 1;}for(int len = 3; len <= length; len++) {for(int l = 1; l+len-1<=length; l++) {int r = l+len-1;dp[l][r] = dp[l+1][r-1] && (s[l-1] == s[r-1]);}}dfs(1,s);return ans;}
};

【LeetCode - 131】分割回文串(dp,dfs)相关推荐

  1. LeetCode 131. 分割回文串【字符串,回溯算法】

    131. 分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = &q ...

  2. leetcode 131. 分割回文串(dp+回溯)

    给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 .返回 s 所有可能的分割方案. 回文串 是正着读和反着读都一样的字符串. 示例 1: 输入:s = "aab&quo ...

  3. LeetCode 131. 分割回文串(回溯)

    文章目录 1. 题目 2. 回溯 1. 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: ...

  4. leetcode 131. 分割回文串 思考分析

    题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 思考 问题可以分为两个子问题:1.判断回文串2.分割数组 判断回文串 bool isPalin ...

  5. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]

    题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...

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

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

  7. 131. 分割回文串

    链接:131. 分割回文串 题解:https://leetcode-cn.com/problems/palindrome-partitioning/solution/hui-su-fa-si-lu-y ...

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

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

  9. LeetCode 1278. 分割回文串 III

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

  10. LeetCode 1278. 分割回文串 III(区间DP)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个由小写字母组成的字符串 s,和一个整数 k. 请你按下面的要求分割字符串: 首先,你可以将 s 中的部分字符修改为其他的小写英文字母. 接着,你需 ...

最新文章

  1. 【资源共享】RK3288 WiFiBT 开发配置参考说明
  2. 互联网公司面试必问的mysql题目(下)
  3. 触目惊心,超过 8000+ 漏洞 Redis 暴露在云端!
  4. 光纤会在将来完全取代铜缆吗?
  5. RAC测试及命令示例
  6. 关于Spring底层原理面试的那些问题,你是不是真的懂Spring?
  7. MyEclipes+JSP+SSH+MySQL实现一个文章发布系统
  8. python记录日志_5分钟内解释日志记录—使用Python演练
  9. mvc json 乱码_你了解JSON吗?——Jackson、FastJson在SpringMVC中的简单使用
  10. html回车完成修改,后续段落样式 WORD回车后格式自动改变
  11. PGM:不完备数据的参数估计
  12. 你知道谷歌有个社区叫 GBG 么?
  13. 高程3总结#第20章JSON
  14. TortoiseGit--小乌龟git项目中的使用简介
  15. java 代码统计工具_java代码行数统计工具
  16. picasa csdn_如何阻止Picasa截取不必要的屏幕截图
  17. 如何将html改成mht格式,如何编辑mht格式的文件,什么是mht?
  18. 【团队管理】如何做好技术团队年终复盘
  19. WIFI智能电源插座是怎么连上路由器的?
  20. 【原创纯手打】如何使用Vue写微信朋友圈中的留言回复功能(附源码)

热门文章

  1. 查看一个结构体成员的方法
  2. 大学物理实验长度的测量实验报告_大学物理实验教案长度和质量的测量两篇
  3. php面试编程题_PHP程序员面试题(经典汇总,mysql为主)
  4. 从一个数组中找出最接近目标_LeetCode每日一题 | 转变数组后最接近目标值的数组和...
  5. python操作redis集群_python操作redis集群
  6. python返回函数值并退出函数_如何在python的阻塞的函数中获取变量值
  7. java切面1.6需要的包_Java技术 AspectJ
  8. linux刷命令脚本,linux – 如何调试bash脚本并获得每个命令的执行时间
  9. oracle挂载到空闲进程,Oracle部分后台进程
  10. bbb sd6 无e2 修改