1. 下一個排列
題目連結:https://leetcode.cn/problems/next-permutation/
整數陣列的一個 排列 就是將其所有成員以序列或線性順序排列。
整數陣列的 下一個排列 是指其整數的下一個字典序更大的排列。更正式地,如果陣列的所有排列根據其字典順序從小到大排列在一個容器中,那麼陣列的 下一個排列 就是在這個有序容器中排在它後面的那個排列。如果不存在下一個更大的排列,那麼這個陣列必須重排為字典序最小的排列(即,其元素按升序排列)。
給定一個整數陣列 nums ,找出 nums 的下一個排列。
class Solution:
def longestValidParentheses(self, s: str) -> int:
max_length = 0
stack = [-1]
for i, c in enumerate(s):
if c == '(':
stack.append(i)
else:
stack.pop()
if not stack:
stack.append(i)
else:
max_length = max(max_length, i - stack[-1])
return max_length