LeetCode 爬樓梯算法實現

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

**注意:**給定 n 是一個正整數。

其實這個問題,可以用遞歸和動態規劃解決,下面分別是兩種實現方式:

  • C++代碼:
    int stairs(int n){
        if(n==1||n==0||n==2){
            return n;
        }
        return stairs(n-1)+stairs(n-2);
    }
    int stairs(int n){
        if(n==1||n==0||n==2){
            return n;
        }
        else{
            int a=1;
            int b=2;
            int temp=0;
            for(int i=3;i<n+1;i++){
                temp=a+b;
                a=b;
                b=temp;
            }
            return temp;
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章