首页 > 其他分享 >leetcode 22. 括号生成

leetcode 22. 括号生成

时间:2023-07-04 15:46:23浏览次数:36  
标签:return 22 int List value 括号 add result leetcode

暴力枚举

class Solution {
    public List<String> generateParenthesis(int n) {
        List<String> list = getAll(2 * n);
        List<String> result = new ArrayList<>();
        for (String item : list) {
            int value = 0;
            int len = item.length();
            for (int i = 0; i < len; i++) {
                value = value + getValue(item.charAt(i));
                if (value < 0) {
                    break;
                }
            }
            if (value == 0) {
                result.add(item);
            }
        }
        return result;
    }

    public int getValue(char c) {
        if (c == '(') {
            return 1;
        } else {
            return -1;
        }
    }

    public List<String> getAll(int n) {
        if (n == 1) {
            List<String> ret = new ArrayList<String>();
            ret.add("(");
            return ret;
        }
        List<String> list = getAll(n - 1);
        List<String> result = new ArrayList<String>();
        for (String p : list) {
            result.add(p + "(");
            result.add(p + ")");
        }
        return result;
    }
}

标签:return,22,int,List,value,括号,add,result,leetcode
From: https://www.cnblogs.com/jrjewljs/p/17525911.html

相关文章

  • 22年11月Tita升级绩效场景功能上线
    升级详情Tita-OKR和新绩效一体化管理平台1. 考核指标库分类扩展到三级使用场景:可以满足考核指标类型、指标数量较多,一级分类不便于灵活管理的场景2. 考核模板分类支持到三级使用场景:企业实际绩效考核中,不同岗位的人员、甚至相同岗位的不同人员,使用的考核模板可能都不同......
  • 【LeetCode】矩阵中的和
    给你一个下标从0开始的二维整数数组nums。一开始你的分数为0。你需要执行以下操作直到矩阵变为空:矩阵中每一行选取最大的一个数,并删除它。如果一行中有多个最大的数,选择任意一个并删除。在步骤1删除的所有数字中找到最大的一个数字,将它添加到你的分数中。请你返回最......
  • 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【二】
    1822. 数组元素积的符号题目链接1822. 数组元素积的符号题目描述已知函数 signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。给你一个整数数组 nums 。令 product 为数组 nums......
  • LeetCode 501. 二叉搜索树中的众数
    题目链接:LeetCode501.二叉搜索树中的众数题意:给你一个含重复值的二叉搜索树(BST)的根节点root,找出并返回BST中的所有众数(即,出现频率最高的元素)。如果树中有不止一个众数,可以按任意顺序返回。解题思路:递归法由于是二叉搜索树,中序遍历是有序的,因此相当于在一个有序的......
  • 2022年长宁区初三英语一模错题
    18.没有注意过去式-120.需要自己理解后填词,因为没有听懂听力内容所以没有理解意思-221.没有注意元音开头-122.固定搭配:forthetimebeing不知道-125.系表结构不知道-151.没有仔细读题,没搞清楚语境-155.brokendown不知道什么意思-256.被动语态不会-257.不会改间接引语-2......
  • LeetCode 图
    200. 岛屿数量695. 岛屿的最大面积精品题解 https://leetcode.cn/problems/number-of-islands/solution/dao-yu-lei-wen-ti-de-tong-yong-jie-fa-dfs-bian-li-/注意深度优先遍历,对一格陆地(=='1')遍历, 就会把与它连通的所有陆地遍历到,全部标记为2,完成一个岛屿。从而这一次......
  • 亚马逊云科技中国峰会:睿鸿股份获2022年度成长之星合作伙伴
    2023年6月27-28日,亚马逊云科技中国峰会-上海站在上海世博中心召开,VERYCLOUD受邀参加,并在会中获得亚马逊云科技【2022年度成长之星合作伙伴】。2023亚马逊云科技中国峰会围绕可靠的技术与服务,携手众多业内领先技术践行者,特别呈现创新技术应用、明星讲师团实力助考、开发者社群交流等......
  • 华为超聚变2288H V5 服务器安装Windows系统后 PCI数据捕获和信号处理控制器 出现感叹
    2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器出现感叹号可以在IBMC界面的“诊断-黑匣子”关闭黑匣子功能,然后重启设备解决也可以通过在操作系统侧安装IBMA软件解决2288Hv5服务器安装Windows系统后,PCI数据捕获和信号处理控制器 出现感......
  • JAVA获取字符串内的括号对(支持多层级);获取括号对的内容;按指定规则返回括号对位置;
    先看结果:处理字符串 "这个是一条测试用的字符串[(5(4(3[(1)(2)]))(7))][(6)]"结果  解决思路:参考正则表达式里面出入站部分 代码实现如下:方法调用“: Stringtest="这个是一条测试用的字符串[(5(4(3[(1)(2)]))(7))][(6)]";LinkedHashMap<Inte......
  • Jmeter之二_JSR223取样器,断言等添加失败的解决办法
    Jmeter之二_JSR223取样器,断言等添加失败的解决办法背景最近在学习jmeter但是发现在进行JSR223的相关取样器以及断言处理时出现了错误:java.lang.NoClassDefFoundError:Couldnotinitializeclassorg.apache.jmeter.assertions.JSR223AssertionBeanInfo错误信息如下图......