一天一道算法题--6.15--卡特兰数

本文探讨了一个经典的排列组合问题:12个高矮不同的人排成两排,每排从矮到高排列且第二排每个人都比对应第一排的人高的排列方式数量。该问题出自阿里巴巴面试题,并通过卡特兰数这一数学工具找到了解答。

感谢微信平台---一天一道算法题---每天多一点进步-

 

problem:

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

analyse:

  据说  这题 是来自于 阿里巴巴的面试题 果然 很有分量 ~~

  我反正 胡思乱想了好多 没搞出个有逻辑的思路出来。。。

  微信这边 给我们提供了2种方法:

      第一种 我再这边不给出介绍了 因为我自己并没有很好地理解它 很麻烦的思维方面的东西...

      第二种 是运用卡特兰数

    你要是和我一样 以前没有接触过 卡特兰数 正好可以去了解一下了   我准备再以后的随笔会涉及到它  我也要先去学下。。

    先给出 卡特兰数的做法:

    令h(0) = 1 , h(1) = 1;

    h(n) = h(0)*h(n-1)+h(1)*h(n-2)+……+h(n-1)*h(0)   (n>=2)

    也可以是    h(n) = h(n-1)*(4*n-1)/(n+1)   (n>=2)

    the answer:

      h(6) = 132;

    现在看不懂 也没事 毕竟我们还对 卡特兰数没概念嘛~~

today:

  你都如何回忆我 带着笑或是很沉默 这些年来有没有人能让你不寂寞

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/radical/p/3790961.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值