青蛙跳台阶要考虑目标台阶数等于3的情况b
public class Solution {
public int JumpFloor(int target) {
if(target==0){
return 0;
}
if(target==1){
return 1;
}
if(target==2){
return 2;
}
int count1=1;
int count2=2;
int count3=0; //青蛙跳台阶和斐波那契不同的地方在于青蛙的第二次跳台阶是2次可能而不是F(0)+f(1)这种可能
for(int i=3;i<=target;i++){ //这个循环里面要注意i和target的比较,看是<还是<=
count3=count2+count1; //然后这个地方就是f(n-1)+f(n-2)
count1=count2; //这个地方就是推着走,吧c2赋值给c1,然后把c3的值,也就是c2+c1的结果值赋值给c2,就相当于更新了c1和c2
count2=count3;
}
return count3;
}
}