Class 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 Detail

      • Solution

        public Solution()
    • Method Detail

      • longestDecomposition

        public int longestDecomposition​(String text)