70. 爬楼梯

文章介绍了两种方法解决爬楼梯问题,一种是利用动态规划,通过斐波那契数列的原理求解,另一种是暴力匹配,通过列举并返回特定范围内的结果。
摘要由CSDN通过智能技术生成

70. 爬楼梯


题目链接:70. 爬楼梯

代码如下:

//动态规划 
//公式:f(n)=f(n-1)+f(n-2);
class Solution {
public:
    int climbStairs(int n) {
        if(n<=1)    return n;
        vector<int> dp(n+1);
        dp[1]=1,dp[2]=2;
        for(int i=3;i<=n;i++)
        {
            dp[i]=dp[i-1]+dp[i-2];
        }
        return dp[n];
    }
};

//暴力匹配
// class Solution {
// public:
//     int climbStairs(int n) {
//         switch(n){
//             case 1: return 1;
//             case 2: return 2;
//             case 3: return 3;
//             case 4: return 5;
//             case 5: return 8;
//             case 6: return 13;
//             case 7: return 21;
//             case 8: return 34;
//             case 9: return 55;
//             case 10: return 89;
//             case 11: return 144;
//             case 12: return 233;
//             case 13: return 377;
//             case 14: return 610;
//             case 15: return 987;
//             case 16: return 1597;
//             case 17: return 2584;
//             case 18: return 4181;
//             case 19: return 6765;
//             case 20: return 10946;
//             case 21: return 17711;
//             case 22: return 28657;
//             case 23: return 46368;
//             case 24: return 75025;
//             case 25: return 121393;
//             case 26: return 196418;
//             case 27: return 317811;
//             case 28: return 514229;
//             case 29: return 832040;
//             case 30: return 1346269;
//             case 31: return 2178309;
//             case 32: return 3524578;
//             case 33: return 5702887;
//             case 34: return 9227465;
//             case 35: return 14930352;
//             case 36: return 24157817;
//             case 37: return 39088169;
//             case 38: return 63245986;
//             case 39: return 102334155;
//             case 40: return 165580141;
//             case 41: return 267914296;
//             case 42: return 433494437;
//             case 43: return 701408733;
//             case 44: return 1134903170;
//             case 45: return 1836311903;
//         }
//         return 0;
//     }
// };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值