跳台阶

 

题目:

      

思路:

做这种题目其实可以考虑动态规划算法,即将大问题化解成小问题,将小问题的答案拼凑起来就是正确的答案了。其实跳的步伐有两种,即
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);
        }
    }
}
 
posted @ 2020-11-20 17:45  忧愁的chafry  阅读(118)  评论(0编辑  收藏  举报