zoukankan      html  css  js  c++  java
  • 求n对括号的排列组合(卡特兰数)

    求n对括号的排列组合(卡特兰数)
    关键:从起始位置至右的任意序列,左括号的数目>=右括号的数目

    void generateParenthesis(int n )
    {
           generate( nn"" );
    }

    void generate(int leftNum , int rightNum , string s )
    {
           //递归出口
           if ( leftNum == 0 && rightNum == 0)
           {
                  cout << s << endl;
           }
           //只要左括号还有,就可以打印
           if ( leftNum > 0)
           {
                  generate( leftNum - 1, rightNum, s + '(');
           }
           //当剩余的左括号的数目小于剩余的右括号的树木的时候,即字符串中
    左括号的数目>=右括号的数目,就可以打印右括号
           if ( rightNum > 0 && leftNum < rightNum)
           {
                  generate( leftNum, rightNum - 1, s + ')');
           }
    }










  • 相关阅读:
    js基础知识(pomelo阅读)
    nohup启动命令(转)
    JS基础知识(数组)
    JS基础知识(作用域/垃圾管理)
    JS基础知识(基本类型 引用类型)
    html5实现饼图和线图-我们到底能走多远系列(34)
    RK3288 device descriptor read/64, error -32
    RK3288 双屏异显,两屏默认方向不一致
    Android 查看Android版本的方法
    adb error: device offline
  • 原文地址:https://www.cnblogs.com/ZhangJinkun/p/4531395.html
Copyright © 2011-2022 走看看