括号生成Python解法
生活随笔
收集整理的這篇文章主要介紹了
括号生成Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數字?n?代表生成括號的對數,請你設計一個函數,用于能夠生成所有可能的并且?有效的?括號組合。
有效括號組合需滿足:左括號必須以正確的順序閉合。
例:
輸入:n = 3 輸出:["((()))","(()())","(())()","()(())","()()()"] class Solution(object):def generateParenthesis(self, n):""":type n: int:rtype: List[str]"""result = {''} # 結果for i in range(n): # n為幾則循環幾次temp = set() # 設置用set()函數進行去重for s in result: # 結果里面的對象for j in range(len(s) + 1): # 可以插入'()'的位置temp.add(s[:j] + '()' + s[j:]) # 選擇插入'()'的位置result = temp # 將值傳給result進行下一輪計算return list(result) # 轉換成列表對象總結
以上是生活随笔為你收集整理的括号生成Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电话号码的字母组合Python解法
- 下一篇: 昔日明星掌机落幕:任天堂正式关闭3DS游