leetcode Climbing Stairs
来源:互联网 发布:大数据需要数据库吗 编辑:程序博客网 时间:2024/06/07 12:02
给定一个n阶数的梯子,每步可以跨1或者2阶,问最终上去的不同方法:
分析:
当阶数n=1,只有1种方法;
当阶数n=2,有两种方法;
当阶数n=3,其方法种数等于n=2的种数(剩下的1阶一步即可到达),再加上n=1的种树(剩下的2阶明显可以到达);
当阶数n,其方法种数等于n-2的种数(剩下的2阶一步即可到达),再加上n11的种树(剩下的1阶明显可以到达);
很容易知道是递归:
int climbStairs(int n) { if(n==1)return 1; if(n==2)return 2; return climbStairs(n-1)+climbStairs(n-2);}
提交后超时,这是递归的缺点所在,改为动态规划:
int climbStairs1(int n) { vector<int> a(n+1); a[0]=a[1]=1; int i; for(i=2;i<=n;i++) a[i]=a[i-1]+a[i-2]; return a[n]; }
0 0
- LeetCode: Climbing Stairs
- LeetCode: Climbing Stairs
- [LeetCode]Climbing Stairs
- LeetCode Climbing Stairs
- [Leetcode] Climbing Stairs
- Leetcode: Climbing stairs
- LeetCode Climbing Stairs
- [LeetCode] Climbing Stairs
- leetcode 107: Climbing Stairs
- [LeetCode] Climbing Stairs
- [LeetCode]Climbing Stairs
- [leetcode]Climbing Stairs
- LeetCode-Climbing Stairs
- [leetcode] Climbing Stairs
- LeetCode - Climbing Stairs
- LeetCode:Climbing Stairs
- Leetcode Climbing Stairs
- LeetCode | Climbing Stairs
- 信息系统项目管理师-项目需求管理知识点
- 面试题——TCP和UDP区别
- 关于Java中用Double型运算时精度丢失的问题,真的很蛋疼!
- OC工厂类
- 信息系统项目管理师-组织级项目管理与大型项目管理知识点
- leetcode Climbing Stairs
- 信息系统项目管理师-配置管理知识点
- 【日常学习】【全排列】next_permutation函数版全排列
- 信息系统项目管理师-战略管理知识点
- Hadoop--Hadoop核心之MapReduce
- NSURLConnection 与 NSURLSession
- Hadoop家族产品学习路线图
- 信息系统项目管理师-业务流程管理知识点
- swift中的常量和变量