跳台阶(剑指offer_10.3)
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级台阶总共有多少种跳法。
解题思路
当 n= 1时,只有一种跳法:
当n=2时,有两种跳法:
跳n阶台阶,可以先跳1阶台阶,再跳n-1阶台阶;或者先跳2阶台阶,再跳n-2阶跳阶。而n-1和n-2阶台阶的跳法可以看成子问题,该问题的递推公式:
public int JumpFloor(int n) { if(n <= 2) return n; int pre1 =1,pre2 =2; int result =0; for (int i =2;i <n;i++) { result = pre2 + pre1; pre1 = pre2; pre2 = result; } return result; }