Degenerate_generate动词

Degenerate_generate动词22. Generate Parentheses C++回溯法

大家好,又见面了,我是你们的朋友全栈君。

把左右括号剩余的次数记录下来,传入回溯函数。

判断是否得到结果的条件就是剩余括号数是否都为零。

注意判断左括号是否剩余时,加上left>0的判断条件!否则会memory limited error!

判断右括号时要加上i==1的条件,否则会出现重复的答案。

同样要注意在回溯回来后ans.pop_back()

class Solution {
public:
    void backTrack(string ans, int left, int right, vector<string>& res)
    {
        if(left==0 && right==0)
        {
            res.push_back(ans);
            
        }
        else
        {
            for(int i=0;i<2;i++)
            {
                if(i==0 && left>0)
                {
                    ans.push_back('(');
                    backTrack(ans,left-1,right,res);
                    ans.pop_back();
                }
                else
                {
                    if(i == 1 && right>left && right>0)
                    {
                        ans.push_back(')');
                        backTrack(ans,left,right-1,res);
                       ans.pop_back();
                    }
                }
            }
        }
    }
    vector<string> generateParenthesis(int n) {
        vector<string> res;
        string ans;
        backTrack(ans,n,n,res);
        return res;
    }
};

Degenerate_generate动词

 

转载于:https://www.cnblogs.com/tornado549/p/9990169.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107192.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月20日 下午11:00
下一篇 2022年4月20日 下午11:00


相关推荐

  • vue3.0计算属性_vue的计算属性和方法有什么区别

    vue3.0计算属性_vue的计算属性和方法有什么区别前言一般情况下属性都是放到data中的,但是有些属性可能是需要经过一些逻辑计算后才能得出来,那么我们可以把这类属性变成计算属性。比如以下:<divid="example&quot

    2022年7月31日
    7
  • Android Sdk安装和环境变量配置[通俗易懂]

    Android Sdk安装和环境变量配置[通俗易懂]AndroidSdk安装 AndroidSdk环境变量配置 参考:https://blog.csdn.net/qq_21454973/article/details/80429545一:AndroidSdk安装下载AndroidSDK(SoftwareDevelopmentKit)GoogleAndroid的官网上下载(http://developer.an…

    2022年7月21日
    21
  • python打包小程序[通俗易懂]

    概述pyinstaller是一个十分有用的第三方库,能够在Windows,Linux、MacOSX等操作系统下将Python源文件打包。通过打包可以在没有Python的环境中运行。pipinstaller需要在命令行用pip3安装pip3installpyinstallerpyinstaller库会自动将pyinstaller命令安装到Python解释器目录中,与pip3的命令路…

    2022年4月13日
    36
  • 如何做好FAE工作及FAE职位发展

    如何做好FAE工作及FAE职位发展此文较长 是作者对于半导体 FAE 职业的一些总结 码字不容易 耐心的阅读 欢迎点赞 曾经认识一位做电源研发的工程师 转行在一家代理商做 FAE 做了一年半以后 就提出了离职请求 他老板问他是什么原因 他说了一句至今仍然让作者记忆犹新的回答 他说他实在过不了这种求人的日子 所以 他决定还是回去做研发 其实 这个工程师的选择非常正确 做 就要做自己喜欢的 至少自己开心 不喜欢就不要勉强自己 因为看不到方向

    2026年3月19日
    4
  • nginx代理tcp协议_tcp怎么加密传输

    nginx代理tcp协议_tcp怎么加密传输NGINX实现TCP加密代理

    2025年10月15日
    3
  • python中二维列表取值_python二维元组元素的提取

    python中二维列表取值_python二维元组元素的提取直接切片是不行的:&gt;&gt;&gt;a=[[1,2,3],[4,5,6]]&gt;&gt;&gt;a[:,0]#尝试用数组的方法读取一列失败TypeError:listindicesmustbeintegersorslices,nottuple我们可以直接构造:&gt;&gt;&gt;b=[i[0]…

    2025年7月1日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号