《剑指Offer》题目:跳台阶
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目分析:这其实就是斐波拉契数列,递归的思想,用递推来实现,防止栈溢出。
public class JumpFloor { public static int jumpFloor(int target) { int res[] = new int[2]; res[0]=1; res[1]=2; // 与前面的题只有初始值不一样 int temp = 0; if(target==0) return 0; if(target<=2) return res[target-1]; for(int i=3; i<=target ; ++i){ temp = res[0]+res[1]; res[0] = res[1]; res[1] = temp; } return temp; } public static void main(String[] args){ }
技进乎艺,艺进乎道