[Leetcode] 132. Palindrome Partitioning II
2015-04-10 08:51
543 查看
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.
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.
public class Solution { public int minCut(String s) { if(s == null || s.length() <= 1) return 0; boolean[][] isPalindrome = getPalindrome(s); int[] cut = new int[s.length()]; cut[0] = 0; //end at 0th index (one letter), zero cut for(int i = 1; i < s.length(); i++){ if(isPalindrome[0][i]){ cut[i] = 0; continue; } cut[i] = i; //end at ith index (i letters), at most i cuts for(int j = 0; j < i; j++){ if(isPalindrome[j + 1][i]){ cut[i] = Math.min(cut[i],cut[j] + 1); } } } return cut[s.length() - 1]; } private boolean[][] getPalindrome(String s){ boolean[][] result = new boolean[s.length()][s.length()]; for(int i = 0; i < s.length(); i++){ result[i][i] = true; } for(int i = 0; i < s.length() - 1; i++){ result[i][i + 1] = (s.charAt(i) == s.charAt(i + 1)); } for(int length = 2; length < s.length(); length++){ for(int i = 0; i < s.length() - length; i++){ result[i][i + length] = result[i + 1][i + length - 1] && s.charAt(i) == s.charAt(i + length); } } return result; } }
相关文章推荐
- LeetCode 132. Palindrome Partitioning II
- [leetcode-132]Palindrome Partitioning II(java)
- [leetcode 132] Palindrome Partitioning II
- Leetcode 132. Palindrome Partitioning II (Hard) (cpp)
- Leetcode(132) Palindrome Partitioning II
- leetcode 132 —— Palindrome Partitioning II
- leetcode || 132、Palindrome Partitioning II
- [LeetCode]题解(python):132-Palindrome Partitioning II
- LeetCode 132 Palindrome Partitioning II
- LeetCode132 Palindrome Partitioning II
- LeetCode 132. Palindrome Partitioning II(回文切分)
- LeetCode132:Palindrome Partitioning II
- 132. Palindrome Partitioning II Leetcode Python
- [LeetCode]132 Palindrome Partitioning II
- LeetCode132 Palindrome Partitioning II&I
- Leetcode 132. Palindrome Partitioning II
- leetcode——132—— Palindrome Partitioning II
- [leetcode]132. Palindrome Partitioning II(Java)
- LeetCode: Palindrome Partitioning II [132]
- leetcode 132: Palindrome Partitioning II