刷題筆記(七)——變態跳臺階 走臺階升級版

刷題筆記(七)——變態跳臺階     走臺階升級版

題目描述

一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

思路:分析題可知,f(n)=f(n-1)+f(n-2)+...+f(1)+1,(f(0)可以加可以不加,因爲f(0)=0)

第一直覺是遞歸,從n-1開始,但是內存超了

所以換了思路,從1開始遞歸,一直到n-1,這樣就不用將前面求的值都保存了

class Solution {
public:
    int jumpFloorII(int number) {
        if(number==0)
            return 0;
        else if(number==1)
            return 1;
        else 
        {
            int a=1,count=1;
            while(count<number)
            {
                a+=jumpFloorII(count);
                count++;
            }
            /*while(number!=0)
            {
                a+=jumpFloorII(number--);
            }*/
            return a;
        }
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章