Split string to palindrome
来源:互联网 发布:淘宝吊带碎花连衣裙 编辑:程序博客网 时间:2024/04/29 16:14
Question:
Give a string, use minimum number of splits to divide the string into multiple parts in which each part a palindrome. For example, if the string is "abbad", we can split it into "abba" and "d", then the total splits is 1.
public class NumberOfSplits {public static void main(String[] args) {String str = "abbadd";System.out.println(new NumberOfSplits().numberOfSplits(str));}public int numberOfSplits(String str) {assert (str != null);int[] cuts = new int[str.length()];for (int i = 0; i < str.length(); i++) {cuts[i] = i;}for (int i = 0; i < str.length(); i++) {if (isPalindrome(str, 0, i)) {cuts[i] = 0;continue;}for (int j = 1; j <= i; j++) {if (isPalindrome(str, j, i) && cuts[i] > cuts[j - 1] + 1) {cuts[i] = cuts[j - 1] + 1;}}}return cuts[str.length() - 1];}public boolean isPalindrome(String str, int i, int j) {while (i <= j) {if (str.charAt(i) != str.charAt(j)) {return false;}i++;j--;}return true;}}
- Split string to palindrome
- 10739 - String to Palindrome
- UVA10739 - String to Palindrome
- String to Palindrome
- String to Palindrome
- uva10739(String to Palindrome)
- UVa 10739 String to Palindrome String to Palindrome
- uva 10739 String to Palindrome
- uva 10739 String to Palindrome
- UVa 10739. String to Palindrome
- Uva - 10739 - String to Palindrome
- UVa 10739 - String to Palindrome
- uva 10739 String to Palindrome
- UVa 10739 - String to Palindrome
- UVA - 10739 String to Palindrome
- UVa:10739 String to Palindrome
- UVA 10739 String to Palindrome
- uva 10739 - String to Palindrome
- linux-0.11调试教程,fwrite ()函数的作用
- 电视剧
- 静态函数 抽象类 覆盖-重写-重载 委托-事件-匿名函数 密封 Lambda表达式
- oracle 日期常用函数 (ADD_MONTHS,LAST_DAY,NEXT_DAY,MONTHS_BETWEEN,NEW_TIME,ROUND,TRUNC)
- O变X
- Split string to palindrome
- Group of 1s in a Matrix
- Sum of a tree
- Data Guard Physical Standby Setup in Oracle Database 11g Release 2
- Android创建和删除文件夹和文件
- java解析xml各种方法
- C++模板来源
- c++必知必会-2
- 爱你的暗语——山东省第三届ACMn a^o7 ! 解题报告