`
java-mans
  • 浏览: 11741922 次
文章分类
社区版块
存档分类
最新评论

【100题】第四十六题 括号匹配

 
阅读更多

一,题目

四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())

二,解答

解法一:左右括号成一对则抵消

可以将左括号看成1右括号看成 -1,然后对8个数进行全排列

对每个排列判断,是否符合条件,逐个相加,sum>=0直到遍历完该序列,符合条件则count++

如果出现sum<0则失败

解法二:采用八位bit,从0000 0000 1111 1111遍历,遇到0 -1遇到1 1

如果加完该序列所有位等于0,且递加过程中sum始终大于零则符合条件

三,源码


#include<iostream>
#include <vector>
using namespace std ;
void Print(vector<char> v)
{
	for (vector<char>::iterator beg=v.begin();beg!=v.end();++beg)
		cout<<*beg<<" ";
	cout<<endl;
}
void MatchNums(int nSize,int nLen,vector<char> &v)
{
	int nLeftBrackets=0;
	int nRightBrackets=0;
	for (vector<char>::iterator beg=v.begin();beg!=v.end();++beg)
	{
		if(*beg=='(')
			nLeftBrackets++;
		else
			nRightBrackets++;
		if(nRightBrackets>nLeftBrackets)
			return;
		if(nLeftBrackets+nRightBrackets==nSize&&nLeftBrackets==nRightBrackets)
			Print(v);
	}
	
	if (nLen>0)
	{
		v.push_back('(');
		MatchNums(nSize,nLen-1,v);
		v.pop_back();
		v.push_back(')');
		MatchNums(nSize,nLen-1,v);
		v.pop_back();
	}
}
int main()
{
	vector <char> v;
	int n=4;
	MatchNums(n,n,v);
	return 1;
}


分享到:
评论

相关推荐

    新版部编人教版五年级数学上册期中考试题(下载).pdf

    4. 比例计算:第四题中,根据100公里需要8升汽油,可以推算出1公里需要0.08升汽油,而1升汽油可以行驶12.5公里。 5. 数的性质:第五题考察数字与钥匙匹配,根据题目描述,一把钥匙可以打开4把锁,这意味着这把钥匙...

    中国电信股份有限公司云计算分公司笔试题22道,附带答案

    #### 十四、正则表达式匹配与搜索 1. **Match与Search**: - `match()`方法尝试从字符串的起始位置匹配模式。 - `search()`方法在整个字符串范围内搜索模式。 - `search()`方法更适用于查找整个字符串内的任意位置...

    顺序结构程序设计练习题.pdf

    4. 第四题涉及格式化输出,`printf("%2d\n", a)`中的`%2d`表示输出一个整数,至少占2位,但`a`的值大于2位,因此按实际宽度输出,结果是1234。 5. 第五题考察了格式化输出的精度控制,`printf`函数的参数应匹配格式...

    新版苏教版三年级数学上册期末考试题及答案免费.pdf

    11. **除法的余数**:选择题第一题考察除法的余数,除数是9,余数最大是8。 12. **简便运算**:第二题通过347-98的简便计算,可以是347-100+2。 13. **乘法结果末尾0的个数**:第三题确定使450×□的积末尾有两个0...

    人教版一年级数学下册第六单元测试题.pdf

    这篇文档是针对人教版一年级数学下册第六单元的一份测试题,主要涵盖了基础的数学概念和运算规则,包括加法、减法、比较大小、理解数位以及解决实际问题等知识点。 一、填空题 1. 这题考察的是连续加数,即3连续加3...

    七年级数学上册期末测试题及答案【人教版新课标】2精选.doc

    16. **利润计算**:第十六题涉及折扣和利润率。标价的九折出售仍获利20%,设标价为x,则x × 0.9 = 21 × (1 + 20%),解得x = 27元。 17. **盈亏计算**:第十七题中,甲商品盈利25%,乙商品亏损10%。甲商品盈利1560...

    【精品】人教版数学二年级下册数学易错题专项练习 (3).doc

    10. 数字推理:第十一题需要根据给定的加法算式,通过逻辑推理找出匹配的括号选项。 通过这些题目,孩子们不仅可以巩固数学基础知识,还能提升逻辑推理、问题解决和观察分析等能力,对二年级的学生来说是非常有益的...

    教材全解2016年北师大版七年级数学上册期中测试题含答案解析精选.doc

    4. **正方体的展开图**:第四题涉及到正方体的展开图,需要理解正方体六个面的关系,以及展开图中相邻面的关系,根据题目条件,填充数字使其满足相对面互为相反数。 5. **代数和几何结合**:第五题中,小红购买珠子...

    数据结构(严蔚敏)习题答案.rar

    习题可能涵盖栈的应用,如表达式求值、括号匹配;队列的应用,如打印机队列、银行服务等。答案将解析这两种结构的操作特性及其在实际问题中的应用。 四、第四章 串 串是字符序列,习题可能涉及串的基本操作,如子串...

    第二学期青岛版六三制一年级数学第八单元测试题及精选.doc

    这部分要求在括号中填写适当的长度单位,比如厘米、米等,以匹配所描述的物体的大小。 四、比较长度: 这些是比较题,要求学生根据单位和数值判断长度之间的关系,例如1米是否大于90厘米,2米是否等于200厘米等。 ...

    兴文2020年事业编招聘考试真题及答案解析版.docx

    4. 逻辑推理:第四题是一道事件排序题,需要考生按照逻辑顺序排列一系列事件,如温度下降、树木被风吹倒等,这考察逻辑思维和因果关系的理解。 5. 地理经济:第五题介绍大亚湾的地理优势及其经济发展,强调了其作为...

    昔阳2016年事业编招聘考试真题及答案解析版.docx

    4. 项目管理流程:第四题是关于项目管理的顺序,正确流程是从提交可行性报告开始,经过项目组组建、刻苦攻关,然后获得批准和资金,最终进行项目验收。这里测试了考生对于项目管理流程的认识。 5. 医疗检查的伦理与...

    编译原理-判断选择题复习资料.pdf

    中间代码生成是编译过程的第四步,负责将语法树转换为中间代码。中间代码是一种平台独立的代码,可以在不同的机器上运行。在中间代码生成过程中,编译器会将语法树转换为中间代码,以便于后续的代码优化和目标代码...

    组合数学习题(第三.四版)答案(二卢著)

    "组合数学习题答案(第三版)-04.12.6"可能包含了第四章第十二节第六题的解答。通过这个答案,读者可以了解到如何应用上述概念来解决实际问题,加深对组合数学的理解。解答中的详细步骤可以帮助学生检查自己的解题过程...

    六年级数学上学期期中试题五四制页.pdf

    第四题涉及到绝对值的比较和加法。如果一个数的绝对值小于另一个数的绝对值,它们的和可能是正数(如果符号相同)或负数(如果符号相反)。不可能是零,因为至少有一个数的绝对值不为零。 5. 相反数与绝对值: 第五...

    安图县2015-2016学年七年级上第三次月考数学试卷含答案解析.doc

    4. **最大温差的计算**:第四题是实际问题中的数学应用,要求找出四天中温差最大的一天。这需要比较每天的最高气温与最低气温之差,具体数值需要查看图表信息才能得出,题目中未提供具体数据。 5. **合并同类项**:...

    计算机考研经典模拟题八套

    **知识点解析**: 第四题考查了链式队列出队操作中尾指针的变化情况。在链式队列中,出队操作通常会改变头指针,而对于尾指针的变化,只有当队列中仅剩一个元素或者队列变为空时才会发生变化。因此,正确答案是A,即...

    2013年二级C笔试真题.doc

    第四个选择题提到了软件开发过程中需求分析阶段产生的主要文档。 **详细解析:** - 在软件开发的过程中,需求分析阶段会产生多种类型的文档,但最主要的是《软件需求规格说明书》(Software Requirements ...

    北师大版三年级上册数学全册单元测试卷含答案.docx

    4. **基础计算**:第四题涉及乘法和加法的混合运算,测试学生的基础计算技能。 5. **列综合算式**:第五题让学生理解并运用除法和加法的组合,例如6与12的和除以3的商。 6. **比较大小**:第六题训练学生的比较...

Global site tag (gtag.js) - Google Analytics