题目: 有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

网易面试题:卡特兰数相关推荐

  1. 面试题--5个数能组成多少中不同的二叉搜索树的结构--卡特兰数

    面试题--5个数能组成多少中不同的二叉搜索树的结构--卡特兰数 题目描述: 1,2,3,4,5 五个数字,能组成多少种不同的二叉搜索树的结构?(D) A. 32 B. 36 C. 40 D. 42 解 ...

  2. Catalan数——卡特兰数

    今天阿里淘宝笔试中碰到两道组合数学题,感觉非常亲切,但是笔试中失踪推导不出来 后来查了下,原来是Catalan数.悲剧啊,现在整理一下 Catalan数--卡特兰数] 一.Catalan数的定义令h( ...

  3. 程序员数学--卡特兰数(Catalan number)

    10个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问有多少种排列方式? 我们可以先把这10个人从低到高排列,然后,选择5个人排在第一排,那么剩下的5个人肯定是在第二 ...

  4. Catalan卡特兰数

    卡特兰数是组合数学中一个常出现在各种计数问题中的数列,其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42- 计算卡特兰数的通项公式:h(n)=C(2n,n)/(n+1) 卡特兰数的应 ...

  5. Catalan number卡特兰数

    背景知识介绍:   卡特兰数是离散数学中的一个重要数列,是很多生活场景的一个抽象,比如买早餐.买电影票等等.在很多大公司的笔试或者面试题中也常涉及到. 百度百科介绍   卡特兰数   卡特兰数是组合数 ...

  6. 从《编程之美》买票找零问题说起,娓娓道来卡特兰数——兼爬坑指南

    转自:从<编程之美>买票找零问题说起,娓娓道来卡特兰数--兼爬坑指南 引子: 大约两个月前,我在练习一些招聘的笔试题中,有一道和卡特兰数相关.那时还没来得及开始仔细看<编程之美> ...

  7. 算法基础 - 数论 | 组合数学 卡特兰数(Catalan number)定义、证明及例题

    写在前面:卡特兰数这东西感觉挺常用的,并且公式很简单,那就花一下午总结一下,学点皮毛吧(反正遇到我还是不会 ) [PDF] 大三上组合数学课堂讲义 文章目录 卡特兰数定义 卡特兰数的性质 卡特兰数证明 ...

  8. 卡特兰数 java,Catalan数(卡特兰数)

    由于Catalan数经常会在算法题或面试题中出现,在这里做一下小小的总结. 介绍 Catalan数是组合数学中一个常在各种计数问题中出现的数列.一般项公式为 Cn的另一个表达形式为 一般来讲,我们编程 ...

  9. 一道有关动态规划(Dynamic Programming)的网易面试题

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法实验室 最近遇到一道很经典的有关动态规划的网 ...

最新文章

  1. 我与Linux的相识之旅
  2. 面试官:引入RabbitMQ后,你如何保证全链路数据100%不丢失?
  3. Linux -nginx-源码安装
  4. 新型脑-脑接口,实现“阿凡达”式的跨鼠遥控
  5. 原来这就是Java代码生成器的原理啊,太简单了
  6. Redis-20Spring缓存机制整合Redis
  7. php 操作json的各种格式
  8. Web框架之Django篇
  9. python3中zip()函数的用法
  10. 实验8.2 指针与字符串 7-2 字符串排序
  11. js一键批量打印_js批量打印文件夹
  12. 新装机器如何修改IP地址
  13. React开发(249):react项目理解 ant design form加个扩展样式
  14. BootStrap笔记-按钮相关
  15. html基本语法(实例)
  16. java声明抽象方法_java – 类必须声明为abstract或实现抽象方法错误
  17. keepalived高可用使用案例
  18. 三菱机床的程序传输(DNC)支持上传到CF卡
  19. 什么是 MAC 地址?
  20. 嵌入式linux使用A7680C 4G 网卡

热门文章

  1. Paper Writting2 - 写作框架
  2. 你是喜欢用下划线还是小驼峰呢?
  3. 基于SSM疫情防控管理系统设计与实现
  4. 怎样还原转义的html,非常简单的 html 转义与反转义
  5. python svr回归_SVR回归分析简明教程
  6. 应用superagent实现跨域请求
  7. AI时代,三步走成为超级个体!
  8. EZ-USB-FX3 slavefifo调试
  9. 【日志--v5s结构重参数化记录】
  10. Nodejs学习(5)一个简单的koa2的示例