g1101_1200.s1147_longest_chunked_palindrome_decomposition.readme.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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.