2020\Simulation_2\4.括号序列
生活随笔
收集整理的這篇文章主要介紹了
2020\Simulation_2\4.括号序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【問題描述】
由1對括號,可以組成一種合法括號序列:()。
由2對括號,可以組成兩種合法括號序列:()()、(())。
由4對括號組成的合法括號序列一共有多少種?
【答案提交】
這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。
全排列+括號匹配
將4對括號的數組進行全排列得出所有可能的情況,然后一一判斷是否符合需求,合格的添加到集合中,最后輸出集合的長度。
Code
import itertoolsdef check(s):if s[0] == ')':return Falsestack = []for i in s:if i == '(':stack.append(i)elif i == ')':if not stack or stack.pop() != '(':return Falsereturn Trueans, a = set(), list(itertools.permutations(['(', ')', '(', ')', '(', ')', '(', ')'])) for item in a:if check(item):ans.add(item) print(len(ans))Answer:14
總結
以上是生活随笔為你收集整理的2020\Simulation_2\4.括号序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 647. Palindromic Sub
- 下一篇: 529. Minesweeper