LintCode 爬楼梯
来源:互联网 发布:陕西广电网络总公司 编辑:程序博客网 时间:2024/06/04 23:27
1.描述
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例
比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法
返回 3
2.分析
每到一层有多少种爬法取决于之前是如何爬上来的,由于一次只能爬一层或两层,因此状态转移方程为dp[i]=dp[i-1]+dp[i-2]。
3.代码
class Solution {
public:
/**
* @param n: An integer
* @return: An integer
*/
const int M=1005;
int climbStairs(int n) {
// write your code here
int dp[M];
dp[1]=1;//爬一层楼一种爬法
dp[2]=2;//爬两层楼两种爬法
for(int i=3;i<=n;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n];
}
};
4.总结
类似于斐波那契数列,当前一步取决于之前两步的决策,很容易看出起始走一层楼一种走法,走两层楼两种走法,因此根据状态转移方程很容易得到走n层楼的走法。
阅读全文
0 0
- LintCode-爬楼梯
- 爬楼梯-lintcode
- LintCode之爬楼梯
- lintcode爬楼梯
- LintCode | 111. 爬楼梯
- LintCode 爬楼梯[转载]
- 爬楼梯-LintCode
- Lintcode爬楼梯
- [Lintcode] #111 爬楼梯
- Lintcode 111.爬楼梯
- 爬楼梯-LintCode
- LintCode 爬楼梯
- Lintcode 111. 爬楼梯
- LintCode Climbing Stairs 爬楼梯
- LintCode:动态规划 爬楼梯
- Lintcode-动态规划-爬楼梯
- LintCode | Easy | 爬楼梯 | Climbing Stairs
- LintCode-剑指Offer-(111)爬楼梯
- latex 字母,字符上面 画斜线
- #BZOJ3700#发展城市(O(1)LCA+分析讨论)
- 腾讯android电话面试一
- 深度学习中的注意力机制
- vue 结合饿了么element-ui
- LintCode 爬楼梯
- 冒泡法C语言的实现
- 今日头条android面经一面
- COCOS2D-X Battle 独立游戏 (二) 新建游戏主工程
- matplotlib绘图
- Android 设置ImageView全屏
- 今日头条android面经二面
- JavaWeb学习笔记-java基础-8-javabean(1)
- 1005 装载问题