mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-04-07 14:25:54 +00:00
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
074e3c8732
commit
31dc532e27
@ -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)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user