剑指offer每日一题算法题(java解法)
方便日后复习,从今天开始。
算法之行始于足下
[编程题]变态跳台阶-- Java实现
------------------------------------------------------------------------------------------------------
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
编程思路:
1.慢慢推出台阶1,1种,2,2种,3,4种,4,8种,5,16种;
2.发现是一个等比数列,2*f(n-1),就好做了
递归
public class Solution {
public int JumpFloorII(int target) {
int tmp1=1,tmp2=2,tmp3=0;
if(target<=0)
return 0;
if(target==1||target==2)
return target;
else{
return 2*JumpFloorII(target-1);
}
}
}