【LeetCode】 70. Climbing Stairs
来源:互联网 发布:医疗器械软件研究文档 编辑:程序博客网 时间:2024/06/05 12:46
题目描述
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.
解题思路
动态规划。
由于每次只能够走一步或者两步,那么,能够到达当前阶级,有两种可能:
- 在下一级阶级中一次走一步达到
- 在下两级阶级中一次走两步到达
于是,有如下的状态转移方程:
dp[k] = dp[k - 1] + dp[k - 2]
AC代码
class Solution {public: int climbStairs(int n) { int *dp = new int[n]; dp[0] = 1; dp[1] = 2; for (int k = 2; k < n; ++k) { dp[k] = dp[k - 1] + dp[k - 2]; } int ans = dp[n - 1]; if (dp != NULL) { delete dp; dp = NULL; } return ans; }};
0 0
- [LeetCode]70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- [leetcode] 70.Climbing Stairs
- [leetCode]70. Climbing Stairs
- 70. Climbing Stairs LeetCode
- [LeetCode]70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- leetcode 70. Climbing Stairs
- leetcode 70. Climbing Stairs
- LeetCode *** 70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- LeetCode 70. Climbing Stairs
- leetcode 70. Climbing Stairs
- [LeetCode]70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- LeetCode 70. Climbing Stairs
- #leetcode#70.Climbing Stairs
- 05-jQuery动画
- jupyter import ... note
- 线性结构 1 两个有序链表序列的合并
- 解读 TiWorkerCoreInitialize
- Java容器----HashMap和HashSet的区别
- 【LeetCode】 70. Climbing Stairs
- BZOJ2713 [Violet 2]愚蠢的副官&BZOJ1183 [Croatian2008]Umnozak
- 让网络请求简单点——Volley框架(中)
- RNN上的BPTT的简单推导
- 498. Diagonal Traverse
- 自动执行 Nmap 扫描的工具 LazyMap
- 坚持写博客,留下我的足迹
- Effective c++ Item 28 不要返回指向对象内部数据(internals)的句柄(handles)
- 借用jython调用stanford parser