劍指offer_跳臺階

題目描述

一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。
原題鏈接:https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

題目解析

其實就是斐波那契數列。

遞歸方法

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

迭代方法

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