网易面试题:卡特兰数

题目: 有20个人去看电影,电影票50元。其中只有10个人有50元钱,另外10个人都只有一张面值100元的纸币,电影院没有其他钞票可以找零,问有多少种找零的方法?

视频讲解,卡特兰数问题

题目解析:要想可以零钱找得开,那么在第一个收的必须是50元,要想后续每次都找的开,那么在每一次收钱的时候,收银员已经收过的50元的个数要大于已经收过的100元的个数。

从(0,0)开始记录收银员已经收银的状态,左边代表50元的个数,右边代表100元的个数,用(a,b)记录,则a>=b

第一次必须为(1,0)
第二次可以为(2,0)也可以为(1,1)
第三次:(3,0) 或者 (2,1)
以此类推,我们可以用画图的方法来表示:

这里以5个50,5个100举例:

在这里插入图片描述

用数字将到达每一种状态时的可能性标出,则最后可以看出,有42种可能到达的方法。

在这里插入图片描述

卡特兰数:
1—>1
2—>2
3—>5
4—>14
5—>42
6—>132
7—>429
8—>1430
9—>4862
10—>16796

公式:C(n,2n)/(n+1)=C(10,20)/11=16796

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值