46 四对括号可以有多少种匹配排列方式
来源:互联网 发布:尘埃3优化 编辑:程序博客网 时间:2024/04/29 22:08
/*46.搜狐:四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())排列问题,注意当前右括号的数量不能超过左括号*/#include <iostream> using namespace std; //匹配数 int num=0; //判断当前n对括号是否匹配 bool isMatch(int n,char* bracket) { int left_num=0,right_num=0; for(int i=0;i<2*n;++i) { if(bracket[i]=='l') left_num++; else if(bracket[i]=='r') right_num++; if(left_num<right_num) return false; } if(left_num==n && right_num==n) return true; else return false; } //回溯法 void BracketMatch(int n,int i,char* bracket) { if(i==2*n)//递增i,到2n满足 { if(isMatch(n,bracket)) num++; return; } else { bracket[i]='l'; BracketMatch(n,i+1,bracket); bracket[i]='r'; BracketMatch(n,i+1,bracket); } } int main() { int n; while(cin>>n){char* bracket=new char[2*n];num=0; BracketMatch(n,0,bracket); cout<<n<<"对括号最多有"<<num<<"种匹配方式!"<<endl;} return 0; }
0 0
- 四对括号可以有多少种匹配排列方式?
- 四对括号可以有多少种匹配排列方式?
- 四对括号可以有多少种匹配排列方式
- 46 四对括号可以有多少种匹配排列方式
- 微软100题第46题:四对括号可以有多少种匹配排列方式?
- N对括号可以有多少种匹配排列方式
- 46.搜狐:四对括号可以有多少种匹配排列方式
- 四对括号可以有多少种匹配排列方式-新解法
- 算法习题46:四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
- 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
- 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
- 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
- n对括号可以有多少种匹配排列方式(算法面试题)
- n对括号有多少种匹配排列方式
- 【微软谷歌面试100题--【46】N对括号可以有多少种匹配排列方式
- 两个问题:n对括号有多少种匹配方式与与最长递减子序列
- 有N对左右括号,问合法排列有多少种?对解法有点不理解求教!
- 有N对左右括号,问合法排列有多少种?对解法有点不理解求教!
- 45 整数数组,将其分为m份使各份的和相等
- uploadify 500 问题解决思路
- Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
- 三种快速排序以及快速排序的优化
- 指针的算术运算
- 46 四对括号可以有多少种匹配排列方式
- Unable to execute dex: Multiple dex files define 解决方法
- 数据库引擎介绍
- [Java Performance] 字符串拼接注意事项
- 指针运算遍历数组
- Android面试题整理
- 使用unity3d需要注意到细节
- POJ 1236 添加最少的边使图变成强联通
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句