跳台阶

https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路

前导:先理解斐波那契数列https://www.jianshu.com/p/fa9b6076ce16
1.当n=0,跳法为0
2.当n=1,跳法为1
3.当n=2,跳法为2
3.因为一次可上1个台阶或2个台阶,如果现在还剩1个台阶,则有F(n-1)钟跳法,如果现在还剩2个台阶,则有F(n-2)种跳法,所以F(n)=F(n-1)+F(n-2),即斐波那契数列

代码

public class Solution {
    public int JumpFloor(int target) {
        int n=0;
        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }
        if(target>2){
             n=JumpFloor(target-1)+JumpFloor(target-2);
        }
        return n;
    }
}

你可能感兴趣的:(跳台阶)