和我一起迎接明天的太阳吧

klaus08

焦虑源于行动的匮乏

JZ8 跳台阶

原题链接


描述

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


示例1

输入:2
返回值:2
输入:7
返回值:21

思路

使用递归的思想,每次距离目标的值如果大于零,那就至少有一种选择(跳一级台阶);如果大于一,跳一级或者两级都可以,直到最后目标值为0,说明当前方案行得通,计数+1。


解答

public class Solution {
    static int cnt = 0;

    public static int jumpFloor(int target) {
        if (target == 0) cnt++;
        if (target > 0) jumpFloor(target - 1);
        if (target > 1) jumpFloor(target - 2);
        return cnt;
    }
}
posted @ 2021-08-14 21:28  klaus08  阅读(28)  评论(0编辑  收藏  举报