1. 程式人生 > >一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。

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

題目描述

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

/*
思路:遞迴,斐波那契數列
最後一步只能跳1級或兩級,
若跳1級則最後一步之前走了number-1級,
若跳2級則最後一步之前走了number-2級,
所以有:jumpFloor(number) = jumpFloor(number-1) + jumpFloor(number -2)
這顯然是一個斐波那契數列。
*/

class Solution {
public:
    int jumpFloor(int number) {
        if(number<=1)
            return 1;
        return jumpFloor(number-1) + jumpFloor(number -2);
    }
};