3039. Apply Operations to Make String Empty
Medium57.4% acceptance32,199 / 56,116 submissions
Asked by 1 company
Topics
You are given a string s.
Consider performing the following operation until s becomes empty:
- For every alphabet character from
'a'to'z', remove the first occurrence of that character ins(if it exists).
For example, let initially s = "aabcbbca". We do the following operations:
- Remove the underlined characters
s = "aabcbbca". The resulting string iss = "abbca". - Remove the underlined characters
s = "abbca". The resulting string iss = "ba". - Remove the underlined characters
s = "ba". The resulting string iss = "".
Return the value of the string s right before applying the last operation. In the example above, answer is "ba".
Example 1:
Input: s = "aabcbbca" Output: "ba" Explanation: Explained in the statement.
Example 2:
Input: s = "abcd" Output: "abcd" Explanation: We do the following operation: - Remove the underlined characters s = "abcd". The resulting string is s = "". The string just before the last operation is "abcd".
Constraints:
1 <= s.length <= 5 * 105sconsists only of lowercase English letters.
Hints
Hint 1
Before the last operation, only the most frequent characters in the original string will remain.
Hint 2
Keep only the last occurence of each of the most frequent characters.