当前位置: 首页 > news >正文

回溯-22括号生成

package com.dkd;import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.*;public class a {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入括号对数 n: ");int n = scanner.nextInt();Solution solution = new Solution();List<String> result = solution.generateParenthesis(n);System.out.println("所有合法的括号组合:");for (String s : result) {System.out.println(s);}scanner.close();}
}class Solution {public List<String> generateParenthesis(int n) {List<String> result = new ArrayList<>();backtrack(n, 0, 0, new StringBuilder(), result);return result;}private void backtrack(int n, int left, int right, StringBuilder path, List<String> result) {// 终止条件:路径长度达到 2n,说明已经用了 n 个 '(' 和 n 个 ')'if (path.length() == n * 2) {result.add(path.toString());return;}// 尝试添加左括号 '(',前提是还没用完 n 个if (left < n) {path.append('(');backtrack(n, left + 1, right, path, result);path.deleteCharAt(path.length() - 1); // 回溯}// 尝试添加右括号 ')',前提是右括号数量小于左括号(保证合法性)if (right < left) {path.append(')');backtrack(n, left, right + 1, path, result);path.deleteCharAt(path.length() - 1); // 回溯}}
}

n = 2 的算法执行生成顺序

n= 3时候。执行生成顺序

递归同层时在下图同高度;往下递归时会分情况;往上回溯时,有的已经执行过就不执行了;

基本上同一层两种情况

http://www.dtcms.com/a/602463.html

相关文章:

  • 如何做网站卖衣服第一营销网
  • 怎么写网站建设的说明线上设计师是什么意思
  • 力扣(LeetCode) ——43.字符串相乘(C++)
  • 哪里有做网站服务世安建设有限网站
  • 目前哪些企业需要做网站建设的呢企业网站优化兴田德润优惠
  • strchr函数
  • 做图书网站赚钱么关于网站建设的名言
  • Xen PVH 模式启动 Dom0 配置文档
  • 26_FastMCP 2.x 中文文档之FastMCP服务端部署:HTTP 部署指南
  • cisp-pte之SQL注入题之vulnerabilities/fu1.php?id=1
  • 发布三小时,GitHub标星11K,华为内部的图解网络笔记限时开源
  • 【electron】解决CS里的全屏问题
  • 手机网站建站软件毕设做桌面软件 网站
  • 【1.8】基于FPGA的costas环开发2——解调端下变频模块
  • 电商培训机构哪家好网站优化一年多少钱
  • 专业手机网站建设设计软文案例400字
  • pyautocad 获取obb最小包围矩形后旋转平行后标注长宽
  • Google ADK、OpenAI Agents SDK 和 AgentScope的详细对比
  • 深入解析MySQL数据库报错:`ERROR 1146 (42S02) Table ‘mysql.user‘ doesn‘t exist`
  • 用C语言编写有趣程序 | 探索如何用编程创造乐趣与实用工具
  • 武城网站建设公司谷歌广告代理商
  • Docker是什么?怎么安装与配置?
  • 搭建网站的步骤wordpress地址改不了
  • 手机网站报价表网站建设规划书实训报告
  • (Linux操作系统)MySQL在Centos7环境安装和MySQL数据库基础
  • UCOS-III笔记(三)
  • 如何自己建设简单的手机网站品牌创意网站建设
  • 关于csdn隐私
  • 数据集结构说明(Dataset)
  • C语言源程序经过编译