Untitled
unknown
python
2 months ago
1.5 kB
11
Indexable
def minRemoveToMakeValid(s: str) -> str: s = list(s) left_open_curly = 0 left_open_square = 0 left_open_normal = 0 for i, c in enumerate(s): if c == "{": left_open_curly += 1 elif c == "[": left_open_square += 1 elif c == "(": left_open_normal += 1 elif c == "}": if left_open_curly: left_open_curly -= 1 else: s[i] = "" elif c == "]": if left_open_square: left_open_square -= 1 else: s[i] = "" elif c == ")": if left_open_normal: left_open_normal -= 1 else: s[i] = "" right_open_curly = 0 right_open_square = 0 right_open_normal = 0 for i in range(len(s)-1, -1, -1): c = s[i] if c == "}": right_open_curly += 1 elif c == "]": right_open_square += 1 elif c == ")": right_open_normal += 1 elif c == "{": if right_open_curly: right_open_curly -= 1 else: s[i] = "" elif c == "[": if right_open_square: right_open_square -= 1 else: s[i] = "" elif c == "(": if right_open_normal: right_open_normal -= 1 else: s[i] = "" return "".join(s) s = "}[]][()()0]{" print(minRemoveToMakeValid(s))
Editor is loading...
Leave a Comment