跳台阶

2022-10-25 14:37:06 浏览数 (1)

题目:

思路:

做这种题目其实可以考虑动态规划算法,即将大问题化解成小问题,将小问题的答案拼凑起来就是正确的答案了。其实跳的步伐有两种,即

F(N)= F(N-1) F(N-2)

.....

F(3) = F(2) F(1)

F(2) = 2

F(1) = 1

所以考虑递归会更好一点。即不断代入,直至N为1或2,再把得出来的数相加。

代码示例:

public class Solution {

    public int JumpFloor(int target) {

        return Jump(target);

    }

    public int Jump(int target) {

        if (target < 1)

            return 0;

        if (target == 1) {

            return 1;

        } else if (target == 2) {

            return 2;

        } else {

            return Jump(target - 1) Jump(target - 2);

        }

    }

}

0 人点赞