[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2024-10-31 06:28:15 +00:00
parent 074e3c8732
commit 31dc532e27

View File

@ -1,50 +1,52 @@
def isParenthesis(c): def isParenthesis(c):
return ((c == '(') or (c == ')')) return (c == "(") or (c == ")")
def isValidString(str): def isValidString(str):
cnt = 0 cnt = 0
for i in range(len(str)): for i in range(len(str)):
if (str[i] == '('): if str[i] == "(":
cnt += 1 cnt += 1
elif (str[i] == ')'): elif str[i] == ")":
cnt -= 1 cnt -= 1
if (cnt < 0): if cnt < 0:
return False return False
return (cnt == 0) return cnt == 0
# method to remove invalid parenthesis # method to remove invalid parenthesis
def removeInvalidParenthesis(str): def removeInvalidParenthesis(str):
if (len(str) == 0): if len(str) == 0:
return return
visit = set() visit = set()
q = [] q = []
temp = 0 temp = 0
level = 0 level = 0
q.append(str) q.append(str)
visit.add(str) visit.add(str)
while(len(q)): while len(q):
str = q[0] str = q[0]
q.pop(0) q.pop(0)
if (isValidString(str)): if isValidString(str):
print(str) print(str)
level = True level = True
if (level): if level:
continue continue
for i in range(len(str)): for i in range(len(str)):
if (not isParenthesis(str[i])): if not isParenthesis(str[i]):
continue continue
temp = str[0:i] + str[i + 1 :]
if temp not in visit:
q.append(temp)
visit.add(temp)
temp = str[0:i] + str[i + 1:]
if temp not in visit:
q.append(temp)
visit.add(temp)
expression = "()())()" expression = "()())()"
removeInvalidParenthesis(expression) removeInvalidParenthesis(expression)
expression = "()v)" expression = "()v)"
removeInvalidParenthesis(expression) removeInvalidParenthesis(expression)