本文最后更新于:2023年12月5日 下午

本文记录回溯算法相关例题。

22. 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution(object):
def generateParenthesis(self, n):
"""
:type n: int
:rtype: List[str]
"""
result_list = list()
def make_res(total_char_num, left_num_left, cur_left_num, cur_str, result_list):
if total_char_num == 0:
result_list.append(cur_str)
return
if cur_left_num > 0:
make_res(total_char_num - 1, left_num_left, cur_left_num - 1, cur_str+')', result_list)
if left_num_left > 0:
make_res(total_char_num - 1, left_num_left - 1, cur_left_num + 1, cur_str+'(', result_list)

make_res(2*n, n, 0, '', result_list)
return result_list


文章链接:
https://www.zywvvd.com/notes/study/algorithm/backtracking/backtracking /


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

回溯算法例题
https://www.zywvvd.com/notes/study/algorithm/backtracking/backtracking /
作者
Yiwei Zhang
发布于
2022年5月14日
许可协议