博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leecode第二十二题(括号生成)
阅读量:4582 次
发布时间:2019-06-09

本文共 1300 字,大约阅读时间需要 4 分钟。

class Solution {public:    void is_kuohao(vector
temp,int n,vector
& result)//检测是不是括号,如果是,就打入result { bool is_real=true; int sum_front=0; for(int i=0;i
0) sum_front+=temp[i-1]; if(!(temp[i]<=(i+1-sum_front)))//检测条件1:所有左括号后面接的右括号,其个数不能多于前面所有左括号数目 is_real=false; } if(temp[n-1]<1)//检测条件2:最后一个一定是右括号 is_real=false; if(is_real)//打入result { string new_item; for(int i=0;i
& result,vector
& temp)//递归生成所有可能的组合 { if(n==0) return; if(n==1)//终止条件 { temp[0]=retain_vlaue; is_kuohao(temp,num_all,result); return; } for(int i=retain_vlaue;i>=0;i--)//递归主体 { temp[n-1]=i; baoli(retain_vlaue-i,num_all,n-1,result,temp); } } vector
generateParenthesis(int n) { vector
result; vector
temp(n,0); baoli(n,n,n,result,temp); return result; } };

分析:

一开始各种想,没想到好多人推荐的居然是暴力法。。。

转载于:https://www.cnblogs.com/CJT-blog/p/11174352.html

你可能感兴趣的文章