题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
分析:这道题感觉考的不是编程,而是考找规律的。规律如下:
台阶数 可能的跳法
1 1
2 2
3 3
4 5
5 8
...
总结起来就是:
f(1) = 1;
f(2) = 2;
f(3) = 3;
f(4) = 5;
f(5) = 8;
...
规律很简单就能看出来,和斐波那契数列一样,f(n) = f(n-1) + f(n-2);
我的Code如下:
public class Solution {
public int JumpFloor(int target) {
if(target == 1){
return 1;
}
if(target == 2){
return 2;
}
return JumpFloor(target - 1)+ JumpFloor(target - 2);
}
}
网友评论