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


相关推荐

  • 微信小程序onLoad、onShow、onHide、onUnload区别[通俗易懂]

    微信小程序onLoad、onShow、onHide、onUnload区别[通俗易懂]onLoad:页面第一次加载时触发,从跳转页面返回时不能触发,可以传递参数onShow:页面显示或从后台跳回小程序时显示此页面时触发,从跳转页面返回时触发,不能传递参数onHide:页面隐藏,例如使用wx.navigateTo只是打开新页面并不关闭原页面onUnload:页面被卸载,例如使用wx.redirectTo重定向一个页面原页面已经关闭当初始化或打开一个新…

    2022年6月15日
    377
  • OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) & HNM

    OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) & HNMHardNegatieMining与OnlineHardExampleMining(OHEM)都属于难例挖掘,它是解决目标检测老大难问题的常用办法,运用于R-CNN,fastR-CNN,fasterrcnn等two-stage模型与SSD等(有anchor的)one-stage模型训练时的训练方法。OHEM和难负例挖掘名字上的不同。HardNegativeMining只注意难负例 OHEM则注意所有难例,不论正负(Loss大的例子)难例挖掘的思想…

    2022年5月29日
    85
  • Word在试图打开文件时遇到错误,请尝试下列方法:检查文档或驱动器的文件权限 确保有足够的内存和磁盘空间 用文本恢器打开文件

    Word在试图打开文件时遇到错误,请尝试下列方法:检查文档或驱动器的文件权限 确保有足够的内存和磁盘空间 用文本恢器打开文件Word在试图打开文件时遇到错误,请尝试下列方法:检查文档或驱动器的文件权限确保有足够的内存和磁盘空间用文本恢器打开文件 。经常在浏览器上直接下载的文档打开就报这个错,也不知道是什么原因,最后发现就是文件的权限。解决方法:右键该文档属性:在解除锁定这里√上就ojbk了。 …

    2022年6月2日
    130
  • 测试用例编写_功能测试用例自动生成

    测试用例编写_功能测试用例自动生成前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

    2022年8月6日
    6
  • 配置pycharm+anaconda环境「建议收藏」

    配置pycharm+anaconda环境「建议收藏」虽然这方面已经很熟悉了,但每次重装系统重新配置环境时都要重新找帖子看,浪费很多时间,所以还是想记录下来。第一步,安装pycharm。打开pycharm的官网https://www.jetbrains.com/这里是第一个注意的点,点击下载community版本,因为专业版要激活成功教程的非常麻烦,其实社区community版本就够用了。点击下载,350m左右。下载完双击安装一路默认到安装完成就行,安装路径可以根据自己需要调整。第二步、安装anaconda打开anaconda的官网h

    2022年8月29日
    4
  • 让图片居中的css_css 图片居中

    让图片居中的css_css 图片居中图片的居中显示css有很多方法,但在很多情况下有的方法无效,这是件很头疼的事情,比如一般设置图片属性​text-align:center​水平居中,但这个方法经常无效,很多前端工程师都有研究过或者说是搜索过CSS图片居中方法吧。但其实CSS图片居中有多种不同的情况,也有多种不同的解决方法,具体方法如下所示:图片居中又分为水平居中和垂直居中提示:在你开始阅读以下内容之前,你可以先了解CSS图…

    2025年8月2日
    2

发表回复

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

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