70. Climbing Stairs
来源:互联网 发布:c websocket java 编辑:程序博客网 时间:2024/05/21 09:58
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.
这个是典型的斐波拉契数列问题,存在天然的递归结构,可以画出如下递归树分析:
递归+记忆化搜索
class Solution { vector<int> memo; int climb(int n){ if (n == 0 || n == 1) return 1; if (memo[n] == -1) memo[n] = climb(n - 1) + climb(n - 2); return memo[n]; }public: int climbStairs(int n) { memo = vector<int>(n + 1, -1); return climb(n); }};
动态规划
class Solution { vector<int> memo;public: int climbStairs(int n) { memo = vector<int>(n + 1, -1); // 初始情况进行设定 memo[0] = 1; memo[1] = 1; // 逐步递推求解问题 for (int i = 2; i <= n; i++) memo[i] = memo[i - 1] + memo[i - 2]; return memo[n]; }};
阅读全文
0 0
- [LeetCode]70.Climbing Stairs
- 70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- [leetcode] 70.Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- [leetCode]70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs LeetCode
- 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs
- [LeetCode]70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- 70. Climbing Stairs
- POJ 2018 斜率优化DP
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- 分享下学习Kotlin的历程-变量/数据类型(1)
- FZU
- Java爬虫实践--爬取CSDN网站图片为例
- 70. Climbing Stairs
- java-----建立对象时代码执行顺序
- 搭建伪分布式集群
- 习题 3-8 循环小数 Repeating Decimals UVa 202
- Oracle VM VirtualBox的使用
- 传球接力
- cut --- 文本剪切工具
- 算法模板之拓扑排序
- Xampp-服务器根目录路径设置