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

力扣刷题22. 括号生成

22. 括号生成 - 力扣(LeetCode)

递归一次加入括号即可,需要定义两个变量用来记录左括号与右括号的数量,如果左括号的值小于最大值,则加入左括号,进行递归,如果右括号小于左括号,则加入进行递归

class Solution {
    List<String> list;
    int n;
    StringBuilder sb;
    public List<String> generateParenthesis(int n) {
        this.n = n;
        list = new ArrayList<>();
        sb = new StringBuilder();
        dfs(0, 0);
        return list;
    }

    public void dfs(int count1, int count2) {
        if (sb.length() == n * 2 && count1 == n && count2 == n && !list.contains(sb.toString())) {
            list.add(sb.toString());
            return;
        }
        if (count1 < n) {
            sb.append('(');
            dfs(count1 + 1, count2);
            sb.deleteCharAt(sb.length() - 1);
        }
        if (count2 < count1) {
            sb.append(')');
            dfs(count1, count2 + 1);
            sb.deleteCharAt(sb.length() - 1);

        }

    }

}

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

相关文章:

  • 抓包工具fiddler的基础知识
  • 【雅思播客09】Turn Left here.
  • AI:昆仑万维 MusiCoT 技术介绍
  • 【深度学习与实战】2.1、线性回归模型与梯度下降法先导案例--最小二乘法(向量形式求解)
  • 使用 Cursor、MCP 和 Figma 实现工程化项目自动化,提升高达 200% 效率
  • LeetCode 2760 最长奇偶性
  • 英伟达与通用汽车深化合作,澳特证券am broker助力科技投资
  • NotePad++与Navicat工具的下载 完全免费无套路
  • 《索引江湖:B树索引与哈希索引的风云对决》
  • 【设计模式】责任链模式
  • 模型 阿米巴模式
  • 信息安全专业优秀毕业设计选题题目汇总:课题建议
  • react-create-app整合windicss
  • 计算机视觉(CV)技术的优势和挑战
  • 2025.3.26总结
  • Camera控制:你需要掌握的理论基础
  • 医院管理系统(源码)分享
  • TCP/IP的网络连接设备
  • 重生细胞全符文获取攻略
  • 基于Spring Boot的成绩管理系统后台实现
  • 【智能体】从一个聊天工作流了解LangGraph
  • LLM - R1 强化学习 DRPO 策略优化 DAPO 与 Dr. GRPO 算法 教程
  • Mean Shift 图像分割与 Canny 边缘检测教程
  • 如何使用动作捕捉系统训练人形机器人
  • Apache Iceberg 解析,一文了解Iceberg定义、应用及未来发展
  • Logback使用和常用配置
  • 适配器模式及其典型应用
  • 【C++网络编程】第9篇:安全网络编程(TLS/SSL)
  • 【银河麒麟系统常识】命令:dotnet build(编译)
  • IsaacLab最新2025教程(7)-引入IK solver控制机器人