你正在爬楼梯。需要 n 步你才能到达顶部。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方式可以爬到楼顶呢?
注意:给定 n 将是一个正整数。
示例 1:
输入: 2
输出: 2
说明: 有两种方法可以爬到顶端。
1.  1 步 + 1 步
2.  2 步
示例 2:
输入: 3
输出: 3
说明: 有三种方法可以爬到顶端。
1.  1 步 + 1 步 + 1 步
2.  1 步 + 2 步
3.  2 步 + 1 步
详见:https://leetcode.com/problems/climbing-stairs/description/

Java实现:

方法一:

class Solution {
public int climbStairs(int n) {
if(n==0||n==1||n==2){
return n;
}
return climbStairs(n-1)+climbStairs(n-2);
}
}

方法二:

class Solution {
public int climbStairs(int n) {
if(n<2){
return n;
}
int tmp=0,pre=1,res=1;
for(int i=2;i<=n;++i){
tmp=res;
res=pre+res;
pre=tmp;
}
return res;
}
}

方法三:

class Solution {
public int climbStairs(int n) {
if(n==0||n==1||n==2){
return n;
}
int[] dp=new int[n];
dp[0]=1;
dp[1]=2;
for(int i=2;i<n;++i){
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n-1];
}
}

最新文章

  1. SQL Pretty Printer-不错的SQL格式化工具
  2. Linux C/C++ Memory Leak Detection Tool
  3. SQL2012 提示评估已过期 解决方案- sql server问题
  4. hiho 第117周 二分图多重匹配,网络流解决
  5. Ext的Panel总结(好文章)
  6. LeetCode Contains Duplicate II (判断重复元素)
  7. xcode-select: error: tool &#39;xcodebuild&#39; requires Xcode, but active developer directory &#39;/Library/Deve
  8. Backbone的 listenTo 和 on
  9. Linux计划任务(转载)
  10. Android引入高速缓存的异步加载全分辨率
  11. DllImport 自动选择x64或x86 dll
  12. web前端-----第一弹html
  13. SAS中常见的数组函数
  14. C Primer Plus 第6章 C控制语句:循环 编程练习
  15. RocketMQ知识整理与总结
  16. (十一)QPainter绘图, QPixmap,QImage,QPicture,QBitmap
  17. JavaScript资源网址
  18. activity 运行流程图
  19. 12.equals()方法总结
  20. RHEL7.3安装mysql5.7

热门文章

  1. 在你的网站中使用 AdSense广告
  2. 小程序js页面设置上导航颜色
  3. 注意!!一定要谨慎使用c/c++原生指针
  4. MySQL上周新增激活用户在上周下单情况_20161107周一
  5. BZOJ_2064_分裂_状压DP
  6. [Codeforces 452E] Three Strings
  7. javacv实现实时视频截图和录像服务easyCV
  8. 洛谷 P4721 [模板]分治FFT —— 分治FFT / 多项式求逆
  9. Hadoop安装全教程 Ubuntu14.04+Java1.8.0+Hadoop2.7.6
  10. java:Socket介绍(一)