lintcode_111_爬楼梯
假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例
比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法
返回 3
每次迈出一步或者两步,那么当前步数n就是n-1步的数目 加上n-2步的数目。
n-1步 迈一步到n
n-2步 迈两步到n
class Solution { public: /** * @param n: An integer * @return: An integer */ int a[999999]; int climbStairs(int n) { // write your code here a[0]=1; a[1]=1; for(int i=2;i<=n;i++){ a[i]=a[i-1]+a[i-2]; } return n==0?0:a[n]; } };