题解 | #跳台阶#

跳台阶

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;
    }
全部评论

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务