Class Solution
- java.lang.Object
-
- g2401_2500.s2430_maximum_deletions_on_a_string.Solution
-
public class Solution extends Object
2430 - 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, or - Delete 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.
- Delete the entire string
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
-
-
Method Detail
-
deleteString
public int deleteString(String s)
-
-