递归之跳台阶

1.本题知识点

   递归

2. 题目描述

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

3. 思路

   1级时,1种;2级时,2种;3级往后符合斐波那契数列。
   Java 版:
public class Solution {
    public int JumpFloor(int target) {
        int [] result = {0,1,2};
        if(target < 3) return result[target];
        
        int jump1 = 1,jump2 = 2,jumpN = 0;
        //从第3级开始,符合斐波那契数列
        for(int i = 3; i <= target; i++){
            jumpN = jump1 + jump2;
            jump1 = jump2;
            jump2 = jumpN;
        }
        
        return jumpN;
    }
}

你可能感兴趣的:(数据结构和算法)