力扣746. 使用最小花费爬楼梯

动态规划

  • 思路:
    • 定义 dp[i] 为到达下标 i 层的最小花费;
    • 则状态转移方程为:
      • 第 i 层可以从第 i - 1 层爬一层或者第 i - 2 层爬两层到达;
      • 则 dp[i] = std::min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])
    • 初始状态:
      • dp[0] = 0
      • dp[1] = 0
    • 对所有楼层最小花费进行动态规划,最终结果为 dp[n]
class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n = cost.size();
        std::vector<int> dp(n + 1);
        dp[0] = 0;
        dp[1] = 0;
        for (int i = 2; i <= n; i++) {
            dp[i] = std::min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);
        }

        return dp[n];
    }
};

————————————————————————————————————

相关推荐

  1. 746.使用花费楼梯

    2024-01-21 23:02:03       60 阅读
  2. 746. 使用花费楼梯

    2024-01-21 23:02:03       67 阅读
  3. 746. 使用花费楼梯

    2024-01-21 23:02:03       54 阅读
  4. LeetCode 746. 使用花费楼梯

    2024-01-21 23:02:03       72 阅读

最近更新

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

    2024-01-21 23:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-21 23:02:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-21 23:02:03       82 阅读
  4. Python语言-面向对象

    2024-01-21 23:02:03       91 阅读

热门阅读

  1. 敏捷开发之开发流程

    2024-01-21 23:02:03       51 阅读
  2. python 内存视图memoryview

    2024-01-21 23:02:03       50 阅读
  3. Mybatis 45_基于嵌套select的一对一关联

    2024-01-21 23:02:03       48 阅读
  4. 模型之预测人口增长

    2024-01-21 23:02:03       62 阅读
  5. 前端世界的跨域挑战

    2024-01-21 23:02:03       50 阅读
  6. Task03:模型架构篇&新的模型架构篇

    2024-01-21 23:02:03       49 阅读
  7. PoEAA笔记-6会话状态

    2024-01-21 23:02:03       52 阅读