算法训练营第38天|LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

终于迎来了动态规划!

动态规划五部曲

1.dp数组以及小标含义

2.递推公式

3.dp数组如何初始化

4.遍历

5.打印dp数组

LeetCode 509. 斐波那契数

题目链接:

LeetCode 509. 斐波那契数

解题思路:

按照迭代公式,进行递归.

代码:

class Solution {
public:
    int fib(int n) {
        if(n==0) return 0;
        if(n==1) return 1;
        return fib(n-1) + fib(n-2);
    }
};
class Solution {
public:
    int fib(int n) {
        if(n<2) return n;
        int dp[2];
        dp[0] = 0;
        dp[1] = 1;
        for(int i=2;i<=n;i++){
            int temp = dp[0] + dp[1];
            dp[0] = dp[1];
            dp[1] = temp;
        }
        return dp[1];
    }
};

 

LeetCode 70. 爬楼梯

题目链接:

LeetCode 70. 爬楼梯

解题思路:

当前楼梯数可以由上两个楼梯的方法数推到出来。

代码:

class Solution {
public:
    int climbStairs(int n) {
        if(n<=2) return n;
        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];
    }
};

LeetCode 746. 使用最小花费爬楼梯 

题目链接:

LeetCode 746. 使用最小花费爬楼梯 

解题思路:

最小花费为,前一个节点的花费加上前一个节点的cost和前两个节点的花费加上前两个节点的cost的最小值。

代码:

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int size = cost.size();
        int dp[size+1];
        dp[0] = 0;
        dp[1]=0;
        for(int i=2;i<=size;i++){
            dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[size];
    }
};

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 20:30:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 20:30:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 20:30:05       82 阅读
  4. Python语言-面向对象

    2024-04-12 20:30:05       91 阅读

热门阅读

  1. Spring面试题pro版-3

    2024-04-12 20:30:05       42 阅读
  2. postman怎么生成随机数详细步骤及使用方式

    2024-04-12 20:30:05       115 阅读
  3. 【图论】Leetcode 200. 岛屿数量【中等】

    2024-04-12 20:30:05       48 阅读
  4. 前端 js 经典:字符编码详解

    2024-04-12 20:30:05       43 阅读
  5. 【QT教程】QT6SVG处理

    2024-04-12 20:30:05       36 阅读
  6. 我的 Lisp 学习历程:从新手到熟练掌握

    2024-04-12 20:30:05       43 阅读