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

原创 2012年03月30日 19:31:27
#include<iostream>
#include<string>
using namespace std;

int howMany1s(unsigned int num)
{
    int count=0;
    for(int i=0;i<8;i++)
    {
        if((num&0x1)==1)
           count++;
        num=num>>1;
    }
    return count;
}

bool check(unsigned int num)
{
    int flag=0;
    if(num<0||num>255)
       return false;
    unsigned int pointer=0x80;
    for(int i=0;i<8;i++)
    {
        if((pointer&num)!=0)
           flag++;
        else
           flag--;
        if(flag<0)
           return false;
        pointer=pointer>>1;
    }
    if(flag==0)
       return true;
    return false;
}

void printCombo(unsigned int num)
{
    unsigned int pointer=0x80;
    for(int i=0;i<8;i++)
    {
        if((pointer&num)!=0)
           cout<<"(";
        else
           cout<<")";
        pointer=pointer>>1;
    }
    cout<<endl;
}

int main()
{
    int count=0;
    for(unsigned int i=0;i<256;i++)
    {
        if(howMany1s(i)!=4)
            continue;
        else
        {
            if(check(i))
            {
                count++;
                printCombo(i);
            }
        }
    }
    cout<<"In total:"<<count<<endl;
}

n对括号可以有多少种匹配排列方式(算法面试题)

n对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())...
  • u014529413
  • u014529413
  • 2014年09月07日 13:43
  • 1750

n对括号有多少种匹配排列方式

n对括号有多少种匹配排列方式?比如一对括号有一种:();两对括号可以有两种:()()和(()) 相关知识: 卡特兰数 #include using namespace std; //下述算法与没...
  • diudiuyoung
  • diudiuyoung
  • 2015年05月20日 22:07
  • 475

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

来自:http://bbs.csdn.net/topics/350118968 搜狐: 四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(()) ------------...
  • ylf13
  • ylf13
  • 2013年11月06日 13:23
  • 1252

四对括号可以有多少种匹配排列方式-新解法

该题源自搜狐,面试题还是笔试题就不知道了。网上已经有很多关于此题的解法,下面是我的解法,欢迎讨论。              四对括号() 那么有4个 右括号“)”,——)——)——)——),该题可演...
  • zerohero_xij
  • zerohero_xij
  • 2013年10月05日 00:41
  • 960

数据结构之括号匹配问题

输入一个表达式,表达式中包括三种括号“()”、“[]”和“{}”,判断该表达式的括号是否匹配。 没达到输出那个括号出错的目的,不过也能判断是否正确了。 #include #include #i...
  • LZK1997
  • LZK1997
  • 2016年09月29日 20:24
  • 480

数据结构(18)栈典型问题之C++实现括号匹配

导言 括号匹配 实现 运行结果导言假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即【{}】或【([][])】等为正确的格式【[(])】或【[())】等均为不正确的格式。括号匹配思路:...
  • YuYunTan
  • YuYunTan
  • 2016年03月18日 12:42
  • 949

c++ 括号匹配

主要是利用栈进行入栈出栈匹配,代码如下: #include #include using namespace std; #define STACK_SIZE 100 struct ...
  • fwb330198372
  • fwb330198372
  • 2016年04月07日 14:32
  • 1811

卡特兰数及括号正确匹配个数问题解释

今天碰到这样一个问题:  n对括号正确匹配组成的字符串数,例如 1对括号:()                                              1种可能 2对括号:()() ...
  • magic_andy
  • magic_andy
  • 2015年04月11日 21:07
  • 2795

括号匹配问题与经典笔试面试题目解析

括号匹配问题是用“栈”这种数据结构来解决的一道典型问题,本文由此引申,谈到了Leetcode中多道与此有关的问题或变种题,这是笔试面试中非常常见的一种类型题目。...
  • baimafujinji
  • baimafujinji
  • 2016年01月05日 23:24
  • 7324

括号匹配(二)

描述 给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。 如: []是匹配的 ([])[]是匹配的 ((]是不匹配的 ([...
  • menxiaoyuan
  • menxiaoyuan
  • 2015年11月01日 21:12
  • 669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:四对括号可以有多少种匹配排列方式?比如两对括号可以有两种:()()和(())
举报原因:
原因补充:

(最多只允许输入30个字)