我思故我在系列—數據結構面試NO.27題(題目蒐集整理者JULY,非常感謝!!)

27.跳臺階問題
題目:一個臺階總共有n 級,如果一次可以跳1 級,也可以跳2 級。

求總共有多少總跳法,並分析算法的時間複雜度。

由題分析得出這是FIibonaqi的變形,有關遞歸與遞推的區別,查看數據結構面試NO.19題

#include<iostream>
#include<assert.h>
using namespace std;

int Recurrence(int num)
{
    assert(num!=0);
    int count=0;
    int i;
    int first = 1;
    int sed = 2;
    if(num==1 || num==2 )
    {
        return num;
    }
    for(i=3;i<=num;i++)
    {
        count = first + sed;
        first = sed ;
        sed = count;
    }
    return count;
}

int main()
{
    int num;
    num=Recurrence(5);
    cout<<"the total number of functions is:"<<num<<endl;
    return 1;
}   


發佈了65 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章