青蛙跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路:3级台阶=2级台阶的跳法+1级台阶的跳法。因为3级台阶可以是2级台阶跳1级,也可以是1级台阶跳2级
public class Solution {
public int JumpFloor(int target) {
//斐波那契数列
//方法一
/*
if(target==0){
return 0;
}
if(target==1){
return 1;
}
if(target==2){
return 2;
}
return JumpFloor(target-1)+JumpFloor(target-2);
*/
//方法二
/*
if(target==0){
return 0;
}
if(target==1){
return 1;
}
if(target==2){
return 2;
}
int[] arr=new int[target+1];
arr[0]=0;
arr[1]=1;
arr[2]=2;
for(int i=3;i<=target;i++){
arr[i]=arr[i-1]+arr[i-2];
}
return arr[target];
*/
//方法三
if(target==0){
return 0;
}
if(target==1){
return 1;
}
if(target==2){
return 2;
}
int a=1;
int b=2;
int c=0;
for(int i=3;i<=target;i++){
c=a+b;
a=b;
b=c;
}
return c;
}
}#21天打卡剑指offer##笔试题目#
