Minimum Length of String After Operations
You are given a string s.
You can perform the following process on s any number of times:
- Choose an index
iin the string such that there is at least one character to the left of indexithat is equal tos[i], and at least one character to the right that is also equal tos[i]. - Delete the closest occurrence of
s[i]located to the left ofi. - Delete the closest occurrence of
s[i]located to the right ofi.
Return the minimum length of the final string s that you can achieve.
Example 1
Input
s = "abaacbcbb"Output
5Choosing index 2 removes matching characters at indices 0 and 3, then choosing index 3 removes matching characters at indices 0 and 5, leaving a string of length 5.
Example 2
Input
s = "aa"Output
2We cannot perform any operations, so we return the length of the original string.
Constraints
- 1 <= s.length <= 2 * 10^5
- s consists only of lowercase English letters.