Climbing Stairs

来源:互联网 发布:数据库查询结果转json 编辑:程序博客网 时间:2024/06/08 03:01
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?

z这是一道简单题,类似于feibonaqi数列。

递归式是

result(i)=1i=12i=2result(i-2)+result(i-1)i>2

这样子的话结果就很简单了。

上代码:

public class Solution {    public int climbStairs(int n) {               if(n==1)return 1;        if(n==2)return 2;        int i1=1,i2=2,i3=0;        for(int i=3;i<=n;++i){            i3=i1+i2;            i1=i2;            i2=i3;        }        return i3;       /* if(n>2)return climbStairs(n-1)+climbStairs(n-2);        else{            if(n==1)return 1;            if(n==2)return 2;            return 0;        }*/    }}


0 0
原创粉丝点击