Class Solution
-
- All Implemented Interfaces:
public final class Solution2430 - Maximum Deletions on a String\.
Hard
You are given a string
sconsisting of only lowercase English letters. In one operation, you can:Delete the entire string
s, orDelete the first
iletters ofsif the firstiletters ofsare equal to the followingiletters ins, for anyiin the range1 <= i <= s.length / 2.
For example, if
s = "ababc", then in one operation, you could delete the first two letters ofsto get"abc", since the first two letters ofsand the following two letters ofsare both equal to"ab".Return the maximum number of operations needed to delete all of
s.Example 1:
Input: s = "abcabcdabc"
Output: 2
Explanation:
Delete the first 3 letters ("abc") since the next 3 letters are equal. Now, s = "abcdabc".
Delete all the letters.
We used 2 operations so return 2. It can be proven that 2 is the maximum number of operations needed.
Note that in the second operation we cannot delete "abc" again because the next occurrence of "abc" does not happen in the next 3 letters.
Example 2:
Input: s = "aaabaab"
Output: 4
Explanation:
-Delete the first letter ("a") since the next letter is equal. Now, s = "aabaab".
Delete the first 3 letters ("aab") since the next 3 letters are equal. Now, s = "aab".
Delete the first letter ("a") since the next letter is equal. Now, s = "ab".
Delete all the letters.
We used 4 operations so return 4. It can be proven that 4 is the maximum number of operations needed.
Example 3:
Input: s = "aaaaa"
Output: 5
Explanation: In each operation, we can delete the first letter of s.
Constraints:
1 <= s.length <= 4000sconsists only of lowercase English letters.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegerdeleteString(String s)-
-
Method Detail
-
deleteString
final Integer deleteString(String s)
-
-
-
-