8.跳台阶(java)

题目描述

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

解题思路

题目只有两种跳法,跳1步或者跳2步,那么假定第一次跳的是一步,那么剩下的是n-1个台阶,跳法是f(n-1)。假定第一次跳的是2步,那么剩下的是n-2个台阶,跳法是(n-2)。由以上可以得出总跳法为: f(n)= f(n-1)+ f(n-2),所以,其实就是斐波那契数列的改版。

public class Solution {
    public int JumpFloor(int target) {
         int sum = 0;
        if(target==1)
            return 1; //只剩一个台阶,只能走一步
        if(target==2)
            return 2; //剩两个台阶,可能走一次两步,或者两次一步,所以返回2种方法。
        sum+=JumpFloor(target-1);//走一步
        sum+=JumpFloor(target-2);//走两步
        return sum;
    }
}
发布了44 篇原创文章 · 获赞 0 · 访问量 476

猜你喜欢

转载自blog.csdn.net/gaopan1999/article/details/104457690
今日推荐