【剑指OFFER】变态跳台阶

【问题描述】

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

时间限制:1秒 空间限制:32768K

 

【AC 代码】

f(n-1) = f((n-1)-1) + f((n-1)-2) + f((n-1)-3) + ······ + f((n-1)-(n-1)) = f(n-2) + f(n-3) + f(n-4) + ······ + f(0)

 

f(n) = f(n-1) + f(n-2) + f(n-3) + ······ + f(n-n) = f(n-1) + f(n-1) = 2 × f(n-1)

1 public class Solution {
2     public int JumpFloorII(int target) {
3         if (target == 1) return 1;
4         return 2 * JumpFloorII(target-1);
5     }
6 }
View Code

 

posted @ 2019-09-24 16:38  ___Moongazer  阅读(85)  评论(0)    收藏  举报