美文网首页
1.变态跳台阶

1.变态跳台阶

作者: 未知的证明 | 来源:发表于2019-04-24 10:15 被阅读0次

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

    f(n+1)=f(n)+f(n-1)+f(n-2)+...+f(1);
    f(n)=f(n-1)+f(n-2)+...+f(1);
    两式相减,得到
    f(n+1)-f(n)=f(n)
    所以f(n+1)=2f(n)

    所以用递归最妙

    public class Solution {
        public int JumpFloorII(int target) {
            if(target <= 0) return 0;
            if(target == 1) return 1;
            if(target == 2) return 2;
            return 2*JumpFloorII(target-1);
        }
    }
    

    相关文章

      网友评论

          本文标题:1.变态跳台阶

          本文链接:https://www.haomeiwen.com/subject/itrxgqtx.html