题解 | #跳台阶#

跳台阶

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

题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

思路

本题采用递归的思想。因为青蛙只能跳1级或者是2级台阶,现在比如请问要跳n级台阶,最后一跳肯定是从n-1级跳1级到n级,或者是从n-2级跳2级到n级,所以F(n)=F(n-1)+F(n-2),也就是说跳到n-1级的跳法总数+跳到n-2级的跳法总数=跳到n级的跳法总数。而无论跳到n-1级的跳法总数还是跳到n-2级的跳法总数都可以用这种思想,一直到F(n)台阶级数为0、1、2时,跳法是明确的,就是等于n种。

代码

public class Solution {
    public int jumpFloor(int target) {
        //注意:target小于0青蛙跳不了,返回-1
        if(target < 0){
            return -1;
        }else if(target == 0 || target == 1 || target == 2){
            return target;
        }

        return jumpFloor(target-1) + jumpFloor(target-2);
    }
}
全部评论

相关推荐

07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-25 17:55
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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