找工作刷題記錄 020括號的有效組合

2021-09-13 12:16:24 字數 683 閱讀 9879

給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。

例如,給出 n =3,生成結果為:

[

"((()))",

"(()())",

"(())()",

"()(())",

"()()()"

]

思路:遞迴的搜尋方式,深度搜尋。

class solution:

def generateparenthesis(self, n: int) -> list[str]:

self.list =

self._gen(0,0,n,"")

return self.list

def _gen(self,left,right,n,result):

if left == n and right == n:

return

if left < n:

self._gen(left + 1 ,right,n,result + "(")

if right < n and right < left:

self._gen(left, right + 1 ,n,result + ")" )

注意事項是_gen函式引數left、right的已使用的括號數。

找工作刷題記錄 007有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true思路 使用棧的方法。python語法 查詢字典的時候預設查詢鍵值key.class solution object de...

LeetCode刷題筆記 020 有效的括號

給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 false 示例 5 輸入 輸...

找工作刷題記錄 005單鏈表是否有環

給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數pos來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果pos是 1,則在該鍊錶中沒有環。示例 1 輸入 head 3,2,0,4 pos 1輸出 true解釋 鍊錶中有乙個環,其尾部連線到第二個節點。思路一 使用雜湊表,時間...