CI8.5--有效括号组合问题
来源:互联网 发布:淘宝双十一红包攻略 编辑:程序博客网 时间:2024/06/06 02:45
输出n对括号的所有有效组合。
思路:
运用递归的思想。只要左括号没有用完,总可以插入左括号;当已插入的左括号数目大于右括号,那么就可以插入右括号。我们只要记录左右括号剩余的数目,然后递归即可。递归终止条件有两个:当左括号剩余数小于0或者左括号剩余数大于右括号剩余数,此时为无效状态;当左右括号剩余数都为0,此时输出结果。
#include <iostream>#include <vector>using namespace std;void Pare(vector<char>& s, int l, int r, int c){if (l < 0 || r < l)return;if (l == 0 && r == 0){for (int i = 0; i < s.size(); ++i)cout << s[i];cout << endl;}else{if (l > 0){s[c] = '(';Pare(s, l - 1, r, c + 1);}if (r > l){s[c] = ')';Pare(s, l, r - 1, c + 1);}}}void main(){int c = 4;vector<char> vec(2*c);Pare(vec, c, c, 0);}
- CI8.5--有效括号组合问题
- CI8.7--硬币组合问题
- 括号所有有效组合
- Valid Parentheses 判断括号组合是否有效
- CI8.2--矩阵行走问题
- CI8.8--八皇后问题
- leetcode 括号组合题目 20 是否是有效括号 32 最大有效括号 301 去掉无效括号
- Valid Parentheses 判断括号组合是否有效@LeetCode
- 8.5-有效的括号组合(same in LeetCode)
- 22.Generate Parentheses&n对括号的全部有效组合
- 打印n对括号的全部有效组合
- 打印N对括号的全部有效组合
- 打印n对括号的全部n对有效组合
- 打印n对括号的全部有效组合
- Leetcode22. Generate Parentheses(生成有效的括号组合)
- 最长有效括号的长度问题
- longest valid parentheness 最长有效括号问题
- 有效括号
- Linux 常用20个命令
- 8#13 - 多校7
- 一步一步将你的C#程序部署到Android.
- Mat 逻辑运算
- 给定二叉树的前序和中序,判断是否可以构成一颗二叉树,如果可以输出后序
- CI8.5--有效括号组合问题
- Android 文件操作注意点
- TDBGrid的使用
- ora-00607 ora-00600
- linux more_and_less
- 【OpenStack】计算节点上的存储
- MRTG在windows下面的步骤教程
- 导入Hive数据导MySQL
- cocos2d-x各种宏的集锦