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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue双向绑定指令[通俗易懂]

    vue双向绑定指令[通俗易懂]vue双向绑定指令

    2022年9月14日
  • resnet18 pytorch_pytorch全连接层

    resnet18 pytorch_pytorch全连接层创建各版本的ResNet模型,ResNet18,ResNet34,ResNet50,ResNet101,ResNet152原文地址:https://arxiv.org/pdf/1512.03385.pdf论文就不解读了,大部分解读都是翻译,看的似懂非懂,自己搞懂就行了。最近想着实现一下经典的网络结构,看了原文之后,根据原文代码结构开始实现。起初去搜了下各种版本的实现,发现很多博客都是错误百出,有些博文都发布几年了,错误还是没人发现,评论区几十号人不知道是真懂还是装懂,颇有些无奈啊。因此打算自己手动实

    2022年10月7日
  • Android 源码解析 之 setContentView「建议收藏」

    Android 源码解析 之 setContentView「建议收藏」转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41894125,本文出自:【张鸿洋的博客】大家在平时的开发中,对于setContentView肯定不陌生,那么对其内部的实现会不会比较好奇呢~~~有幸终于能看到一些PhoneWindow神马的源码,今天就带大家来跑一回源码~~1、Activity setContentView首先

    2022年6月26日
  • 如何成为一名黑客(新手入门到大师全集)

    如何成为一名黑客(新手入门到大师全集)学前感言:1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决.基本方向:1.web安全方面(指网站服务器安全方面,进行渗透测试,检测漏洞以及安全…

    2022年5月26日
  • 十进制小数转化为二进制小数方法_c语言二进制

    十进制小数转化为二进制小数方法_c语言二进制该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#include#include#defineNUM2#defineZERO0.000001intPrnMainMenu(void);voidProcessLoop(void);voidtwo(void);voidten(void);inta,b[10],i=0,c=0;voidinteger(intn)//…

    2022年9月24日
  • 手机app测试流程和方法_app测试方法和流程

    手机app测试流程和方法_app测试方法和流程1 APP测试基本流程1.1流程图1.2测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。1.3测试资源测试任务开始前,检查各项测试资源。–产品功能需求文档;–产品原型图;–产品效果图;–行为统计分析定义文档;–测试设备(i…

    2022年9月5日

发表回复

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

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