Skip to content

Commit f95aaf5

Browse files
Time: 23 ms (15.56%) | Memory: 19 MB (49.08%) - LeetSync
1 parent c7143d6 commit f95aaf5

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed
Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,19 @@
11
class Solution:
22
def longestValidParentheses(self, s: str) -> int:
3-
dp = [0] * len(s)
4-
3+
n = len(s)
4+
dp = [0] * n
55
stack = []
66

7-
for i in range(len(s)):
8-
if not stack and s[i] == ")":
9-
continue
10-
elif s[i] == ")":
11-
dp[stack[len(stack) - 1]] = 1
12-
dp[i] = 1
13-
stack.pop()
14-
else:
7+
for i, ch in enumerate(s):
8+
if ch == '(':
159
stack.append(i)
10+
elif stack:
11+
open_idx = stack.pop()
12+
dp[open_idx] = dp[i] = 1
1613

17-
m = 0
18-
c = 0
19-
20-
for i in range(len(dp)):
21-
c = c + 1 if dp[i] == 1 else 0
22-
m = max(m, c)
23-
24-
return m
14+
max_len = cur = 0
15+
for val in dp:
16+
cur = cur + 1 if val else 0
17+
max_len = max(max_len, cur)
2518

19+
return max_len

0 commit comments

Comments
 (0)