美文网首页
亚马逊校园招聘在线笔试题(三)-卡特兰数

亚马逊校园招聘在线笔试题(三)-卡特兰数

作者: Sep_D_Dai | 来源:发表于2019-10-24 18:26 被阅读0次

问题描述:

  12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?

问题分析:

  我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排.用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有6个0,6个1的序列,就对应一种方案.比如000000111111就对应着,第一排:0 1 2 3 4 5,第二排:6 7 8 9 10 11。010101010101就对应着,第一排:0 2 4 6 8 10,第二排:1 3 5 7 9 11问题转换为,这样的满足条件的01序列有多少个。
  观察1的出现,我们考虑这一个出现能不能放在第二排,显然,在这个1之前出现的那些0,1对应的人,要么是在这个1左边,要么是在这个1前面.而肯定要有一个0的,在这个1前面,统计在这个1之前的0和1的个数.也就是要求,0的个数大于1的个数.如果把0看成入栈操作,1看成出栈操作,就是说给定6个元素,合法的入栈出栈序列有多少个.其通项是c(2n, n)/(n+1)。

原理

  令h(0)=1,h(1)=1,catalan数满足递推式[1]:

  h(n)= h(0)h(n-1)+h(1)h(n-2) + ... + h(n-1)h(0) (n>=2)

  递推关系的解为:

  h(n)=C(2n,n)/(n+1) (n=0,1,2,...)

卡特兰数的应用

  实质上都是递推等式的应用

相关文章

  • 亚马逊校园招聘在线笔试题(三)-卡特兰数

    问题描述:   12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有...

  • 亚马逊校园招聘在线笔试题(一)

    题目:给定一个数组和一个数字,请在这个数组的元素之间添加+-符号,使这个数组元素运算之后的结果是这个数字,比如{2...

  • Golang 实现卡特兰数

    Golang 实现卡特兰数 卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数问题中的数列。前20项为...

  • 卡特兰数:hdu-2067 小兔的棋盘&&火车出栈问题

    卡特兰数,一串神奇的数字,1,2,5,14...... 首先了解一下卡特兰数. 卡特兰数(好像很有用的说) - C...

  • Catalan number卡塔兰数的应用

    卡塔兰数非常经典,很多现实问题都是卡塔兰数问题。在编程领域也很常见。如下的面试题: 2012腾讯实习招聘笔试题在图...

  • 亚马逊招聘在线笔试题(二)

    题目如下: 每个大于1的数字都可以由其他数字相加组合而成,例如:  5=1+4, 5=2+3;  7=1+6, 7...

  • AVL

    LOG(n) 卡特兰数 叉姐

  • 数学 | 卡特兰数

    卡特兰数 定义 卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出...

  • 卡特兰数

  • 卡特兰数

    之前看算法导论时,讲了给定几个数字,能构造出几种二叉树,当时只想到排列组合的解决方法,极其复杂又不好记,过段时间还...

网友评论

      本文标题:亚马逊校园招聘在线笔试题(三)-卡特兰数

      本文链接:https://www.haomeiwen.com/subject/mwmdvctx.html