腾讯面试题
2020-01-15 10:34
1186 查看
给一系列的数1,2,3,,,n(有序的)和一个栈(stack),这个栈无线大,将这n个数据按照顺序放入栈中,但是随机的从栈中弹出,n=5,一共有多少中弹栈方式。
分析:卡特兰数的典型应用
这是卡特兰数的典型应用,Catalan数的定义令h(1)=1,Catalan数满足递归式:h(n)=h(1)*h(n-1) + h(2)*h(n-2)+…+h(n-1)h(1),n >= 2该递归关系的解:h(n) = C(2n,n)/(n+1),n=1,2,3…(其余C(2n,n)表示2n个中取n个的组和数)h(5) = C(10,5)/6 = 42
参考:这里
参考中有应用和性质
代码:
1 #include <stdio.h> 2 #include <stdlib.h> 3 int GetPopNum(int n) 4 { 5 int sum = 0 ,i; 6 if(n == 0 || n == 1) 7 return 1; 8 for(i = 1;i <= n;i++) 9 { 10 sum+=GetPopNum(i-1) * GetPopNum(n-i); 11 } 12 return sum; 13 } 14 int main() 15 { 16 int k = GetPopNum(5); 17 printf("%d",k); 18 }View Code
转载于:https://www.cnblogs.com/sxmcACM/p/4768721.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 腾讯面试题
- 亲历腾讯WEB前端开发三轮面试经历及面试题
- 腾讯iphone面试题
- 腾讯的JS前端面试题
- 腾讯面试题 替换字符串
- 腾讯iphone面试题(转)
- 腾讯/微软 面试题(异或运算)
- 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- [js高手之路]学生问的一道javascript面试题[来自腾讯]
- 腾讯面试题:快速找到未知长度单链表的中间节点
- 腾讯微信产品经理面试题,你也来答答?
- chinaunix:腾讯面试题
- 经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- 腾讯iphone面试题(转)
- 腾讯面试题之页面提交过程
- 【转发】亲历腾讯WEB前端开发三轮面试经历及面试题
- 44. 腾讯面试题: 使用函数的参数指针,分配内存空间问题
- 腾讯面试题+答案
- 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- 在1到20之间产生6个不相同的整数(腾讯面试题,大家围观一下)