题目:
解析:
该题:
1.决策树:
2.代码设计:
2.1.全局变量:
2.2.
代码:
javaprivate List<String> ret; private int left,n,right; private StringBuffer path; public List<String> generateParenthesis(int _n) { n = _n; ret = new ArrayList<>(); path = new StringBuffer(); dfs(); return ret; } private void dfs(){ //递归出口 if(right == n) { ret.add(path.toString()); return; } /** 剪枝写法: */ //添加左括号 if(left < n){ path.append("("); left++; dfs(); //回溯:恢复现场 path.deleteCharAt(path.length()-1); left--; } //添加右括号:右括号永远满足 <= 左括号 if(right < left) { path.append(")"); right++; dfs(); //回溯:恢复现场 path.deleteCharAt(path.length()-1); right--; } }
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>括号生成
robin_suli2024-12-31 15:47
相关推荐
PixelMind3 分钟前
【LUT技术专题】图像自适应3DLUT代码讲解czxyvX28 分钟前
06-排序2301_820301021 小时前
【机器学习】支持向量机拾忆-eleven1 小时前
NLP学习路线图(二十):FastText你真会1 小时前
【数据结构知识分享】顺序表详解@蓝莓果粒茶2 小时前
LeetCode第245题_最短单词距离III闻闻不会编程2 小时前
704. 二分查找 (力扣)AndrewHZ3 小时前
【图像处理基石】立体匹配的经典算法有哪些?AndrewHZ3 小时前
【图像处理入门】4. 图像增强技术——对比度与亮度的魔法调节不二狗3 小时前
每日算法 -【Swift 算法】查找字符串数组中的最长公共前缀