java.lang.Object
g1101_1200.s1147_longest_chunked_palindrome_decomposition.Solution

public class Solution extends Object
1147 - Longest Chunked Palindrome Decomposition\. Hard You are given a string `text`. You should split it to k substrings (subtext1, subtext2, ..., subtextk) such that: * subtexti is a **non-empty** string. * The concatenation of all the substrings is equal to `text` (i.e., subtext1 + subtext2 + ... + subtextk == text). * subtexti == subtextk - i + 1 for all valid values of `i` (i.e., `1 <= i <= k`). Return the largest possible value of `k`. **Example 1:** **Input:** text = "ghiabcdefhelloadamhelloabcdefghi" **Output:** 7 **Explanation:** We can split the string on "(ghi)(abcdef)(hello)(adam)(hello)(abcdef)(ghi)". **Example 2:** **Input:** text = "merchant" **Output:** 1 **Explanation:** We can split the string on "(merchant)". **Example 3:** **Input:** text = "antaprezatepzapreanta" **Output:** 11 **Explanation:** We can split the string on "(a)(nt)(a)(pre)(za)(tpe)(za)(pre)(a)(nt)(a)". **Constraints:** * `1 <= text.length <= 1000` * `text` consists only of lowercase English characters.
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • longestDecomposition

      public int longestDecomposition(String text)