劍指Offer-跳臺階Java

8、跳臺階

題目描述:
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。

思路:
找規律,發現是斐波那契數列,遞歸。
假設現在6個臺階,我們可以從第5跳一步到6,這樣的話有多少種方案跳到5就有多少種方案跳到6,另外我們也可以從4跳兩步跳到6,跳到4有多少種方案的話,就有多少種方案跳到6,其他的不能從3跳到6什麼的啦,所以最後就是f(6) = f(5) + f(4);這樣子也很好理解變態跳臺階的問題了。

public class Solution {
    public int JumpFloor(int target) {
        if(target<=0){return 0;}
        if(target==1){return 1;}
        if(target==2){return 2;}
        return JumpFloor(target-1)+JumpFloor(target-2);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章