自学内容网 自学内容网

408算法题leetcode--第33天

509. 斐波那契数

题目地址509. 斐波那契数 - 力扣(LeetCode)

题解思路:dp

时间复杂度:O(n)

空间复杂度:O(n)

代码:

class Solution {
public:
    int fib(int n) {
        // dp数组含义:dp[i]即i位置的值
        // 递推公式:f(n) = f(n - 1) + f(n - 2)
        // 初始化:dp[0] = 0, dp[1] = 1
        // 顺序:前到后
        // 打印
        if(n == 0) return 0;
        vector<int>dp(n + 1, 0);
        dp[1] = 1;
        for(int i = 2; i <= n; i++){
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
};

70. 爬楼梯

题目地址70. 爬楼梯 - 力扣(LeetCode)

题解思路:dp

时间复杂度:O(n)

空间复杂度:O(n)

代码:

class Solution {
public:
    int climbStairs(int n) {
        // dp[]: 多少种办法
        // 公式:dp[n] = dp[n - 1] + dp[n - 2],走一步/两步
        // 初始化:dp[1] = 1, dp[2] = 2
        // 顺序:从前到后
        if(n <= 2) return n; 
        vector<int>dp(n + 1, 0);
        dp[1] = 1;
        dp[2] = 2;
        for(int i = 3; i <= n; i++){
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
};

原文地址:https://blog.csdn.net/weixin_58073817/article/details/142903398

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!