Study Plan For Algorithms - Part16

WindMay發表於2024-08-30

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

相關文章