All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1101_1200.s1147_longest_chunked_palindrome_decomposition.readme.md Maven / Gradle / Ivy

The newest version!
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.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy