跳台阶(剑指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;
}

猜你喜欢

转载自www.cnblogs.com/ziytong/p/12096476.html
今日推荐