题解 | #跳台阶#

跳台阶

http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

此题需要找出青蛙跳的规律:当只有一节台阶时,一共只有一种方法(1);当有两阶时,共有两种方法—(11,2);当有三节时,共有3种方法(111,12,21);当有四节时,共有5种方法(1111,112,121,211,22)……由此可见,当有n节台阶时,青蛙共有f(n-1)+f(n-2)种方式,因此,可采用斐波那契数列方式解题,如下:

    int jumpFloor(int number) {
        int a = 1;
        int b = 2;
        int ret = 0;
        if(number == 1) return 1;
        if(number == 2) return 2;
        for (int i = 3; i < number + 1 ; ++i)
        {
            ret = a + b;
            a = b;
            b = ret;
        }
        return ret;
    }
全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务