当前位置: 首页 > 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);
        }
    }
}

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

相关文章:

  • 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仿真
  • 大模型 VS 传统算法:人工智能时代的“新老对话“
  • maven在idea上搭建
  • C语言经典代码练习题
  • 【Linux我做主】浅谈Shell及其原理
  • JAVA中关于图形化界面的学习(GUI)动作监听,鼠标监听,键盘监听
  • ESP32的IDF开发学习-驱动ov2640并显示在屏幕上
  • C++(八)vector
  • 国产编辑器EverEdit - 语法着色文件的语法
  • 【一起来学kubernetes】16、CronJob使用详解
  • OpenGL 将屏幕上的二维坐标转换为三维空间中的一个点