【leetcode】 Palindrome Partitioning II
2015-06-21 18:33
309 查看
From: https://leetcode.com/problems/palindrome-partitioning-ii/
Given a string s, partition s such that every substring of the partition is a palindrome.
Return the minimum cuts needed for a palindrome partitioning of s.
For example, given s =
Return
be produced using 1 cut.
倒着
Given a string s, partition s such that every substring of the partition is a palindrome.
Return the minimum cuts needed for a palindrome partitioning of s.
For example, given s =
"aab",
Return
1since the palindrome partitioning
["aa","b"]could
be produced using 1 cut.
倒着
class Solution { public: int minCut(string s) { int len = s.size(); // i~len的最少的回文数,比cut数大1 vector<int> d(len+1); // i与j是否相等 vector<vector<bool>> m(len, vector<bool>(len, false)); for(int i=len; i>=0; i--) d[i]=len-i; for(int i=len-1; i>=0; i--) { // 计算d[i] for(int j=i; j<len; j++) { // d[i] = min(d[i], d[j+1]+1); // 往中间挤 if(s[i]==s[j] && (j-i<2||m[i+1][j-1])) { m[i][j] = true; d[i] = min(d[i], d[j+1]+1); } } } return d[0]-1; } };顺着
public class Solution { public int minCut(String s) { int l; if (s == null || (l = s.length()) == 0) { return 0; } // 从0~i(含i)的最小回文数 int[] palins = new int[l]; for (int i = 0; i < l; ++i) { palins[i] = i + 1; } // sameAt[i][j]:i与j之间是回文 boolean[][] sameAt = new boolean[l][l]; for (int i = 0; i < l; ++i) { // 计算palins[i] for (int j = i; j >= 0; --j) { if (s.charAt(i) == s.charAt(j) && (i - j < 2 || sameAt[i - 1][j + 1])) { sameAt[i][j] = true; int palin = (j > 0 ? palins[j - 1] : 0) + 1; if (palin < palins[i]) { palins[i] = palin; } } } } return palins[l - 1] - 1; } }
相关文章推荐
- 【HEVC学习与研究】45、HEVC的自适应采样点补偿SAO
- 第一次到zhzx到今天已经一周年了
- LayoutInflater的获得方法
- CQU数字逻辑实验——交通灯系统设计
- 网络IO之阻塞、非阻塞、同步、异步总结【转】
- POJ_3249 Test for Job(拓扑)
- POJ 1321 棋盘问题(dfs)
- 【MySQL】存储过程初步探索
- 【LDA】并行化LDA的一些开源资料
- 完数问题
- tr命令和sed命令详解举例
- Android开发遇到的一些小坑洼
- 运行及总结
- POJ 1318 && HDU 1113 Word Amalgamation(水~)
- 测试与调试
- #11 Container With Most Water
- C++标准输出流详解
- 张小龙的产品设计哲学
- 解决 java “错误:编码GBK 的不可映射字符”
- Object基础语法Category、Extension、Protocol