【题目描述】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
【解题思路】
//1.对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来,所以F(n) = F(n-1) + F(n-2)
//2.斐波拉契数序列,初始条件
n=1:只能一种方法
n=2:两种
递归一下就好了
//3. 当测试用例比较大时,递归可能会产生超时。
//4. 默认n>0
public class Solution {
public int JumpFloor(int target) {
if(target == 0 || target == 1){
return 1;
}
return JumpFloor(target-1)+JumpFloor(target-2);
}
}
【其他】
其他的解法,如递归、动态规划等,可以转化为斐波那契序列,见另一篇博文
http://blog.csdn.net/ouyangyanlan/article/details/73176583