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

Leetcode-回溯-组合型

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

这题并没有才有恢复现场的做法  而是直接覆盖

题目核心是看穿本质  在代码执行过程中左括号必须大于等于右括号

以及回溯最底层的递归条件是递归长度已经达到2n

还有做括号要小于n  又因为i=左+右  因此右等于i-左

open代表左括号的数量

并且递归path的时候采用直接覆盖的方法代替恢复现场

class Solution {
    private int m;
    private int n;
    private List<String> ans=new ArrayList<>();
    private char[] path;
    public List<String> generateParenthesis(int n) {
        this.n=n;
        this.m=2*n;
         path = new char[n * 2];
        dfs(0,0);
        return ans;
    }
    public void dfs(int i,int open){
        if(i==m){
            ans.add(new String(path));
        }
        if(open<n){
            path[i]='(';
            dfs(i+1,open+1);            
        }
        if(i-open<open){
            path[i]=')';
            dfs(i+1,open);
        }
    }
}

相关文章:

  • Vue 中如何使用 nextTick?
  • 解决uni-app授权弹框华为审核拒绝
  • OpenAI--Agent SDK简介
  • linux入侵排查-综合日志分析
  • halcon几何测量(一)3d_position_of_rectangle
  • 【QT:多线程、锁】
  • 自然语言处理 | 文本清洗的20种核心策略:从数据噪声到信息价值
  • YunSDR AIR:从架构革新到智能融合的演进之路
  • HTML 专栏总结:回顾与展望
  • ABAP PDF预览
  • 「自动驾驶背后的数学:从传感器数据到控制指令的函数嵌套」—— 揭秘人工智能中的线性函数、ReLU 与复合函数
  • win10搭建opengl环境搭建并测试--输出立方体球体和碗型并在球体上贴图
  • 使用WebDAV将文件传输到实时(RT)目标 转发
  • 3.数据探索与可视化基本图形(直方图、箱线图、散点图)——Python数据挖掘代码实践
  • 《多语言实时交流辅助系统前端的设计与实现》开题报告
  • Redis 10大核心场景实战手册:从缓存加速到分布式锁的全面解析
  • MySQL-单表查询
  • Fisher 信息矩阵公式原理:使用似然估计,二阶导数等知识点
  • 神经网络微调技术解析
  • 基于Qlearning强化学习的钟摆直立平衡控制策略matlab仿真
  • 第1现场|无军用物资!伊朗港口爆炸已遇难40人伤1200人
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 专访|伊朗学者:美伊核谈不只是改革派立场,但伊朗不信任美国
  • 辽宁省信访局副局长于江调任辽宁省监狱管理局局长
  • 第二十届华表奖提名名单公布,张译、王一博、马丽、郭帆等入围
  • 本周看啥|在电影院里听民谣,听摇滚,燥起来吧