题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
列一下前几级台阶跳法:
数学归纳法,第n级台阶的跳法共有(n-2)+(n-1),典型的斐波那契数列。
实现代码:
public class Solution {
public int JumpFloor(int target) {
int f1 = 1;
int f2 = 2;
if(target == 1)
return f1;
if(target == 2)
return f2;
while(target > 2){
f2 = f1 + f2;
f1 = f2 - f1;
target--;
}
return f2;
}
}