当前位置: 首页 > news >正文

每天一道算法题【蓝桥杯】【使用最小花费爬楼梯】

题目

思路

动态规划

状态表示

dp[i] 表示从第i个台阶开始跳跳到台阶顶使用的最小花费

状态转移方程

前一个台阶的最小花费要看后两个台阶来决定
dp[i]为后两个台阶花费的最小值加上这个台阶的花费
dp[i] = min(dp[i + 1], dp[i + 2]) + cost[i]

初始化

dp[n - 1] = cost[n - 1];//第n-1个台阶跳到台阶顶的最小花费为cost[i-1]
dp[n - 2] = cost[n - 2];//第n-2个台阶跳到台阶顶的最小花费为cost[i-2]

注意返回值

return min(dp[0], dp[1]);//第一次跳可以选择跳到第一个台阶或第二个台阶
}

#define _CRT_SECURE_NO_WARNINGS 1
#include<bits.h>
#include<vector>
using namespace std;
class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n = cost.size();
        vector<int>dp(n);
        dp[n - 1] = cost[n - 1];//第n-1个台阶跳到台阶顶的最小花费为cost[i-1]
        dp[n - 2] = cost[n - 2];//第n-2个台阶跳到台阶顶的最小花费为cost[i-2]
        for (int i = n - 3; i >= 0; i--)
        {
            dp[i] = min(dp[i + 1], dp[i + 2]) + cost[i];//前一个台阶的最小花费要看后两个台阶来决定
            //写出状态转移方程
        }


        return min(dp[0], dp[1]);//第一次跳可以选择跳到第一个台阶或第二个台阶
    }
};
http://www.dtcms.com/a/62834.html

相关文章:

  • 扩散 Transformer 策略:用于通才视觉-语言-动作学习的规模化扩散 Transformer
  • 51c大模型~合集10
  • 《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记
  • osg安装编译第三方,完整详细过程。 libtiff/tif config.vc.hdoes not exist
  • GStreamer —— 2.17、Windows下Qt加载GStreamer库后运行 - “播放教程 5:色彩平衡“(附:完整源码)
  • 基于Debian12的SVN和Trac自动安装部署脚本
  • upload-labs-master通关攻略(17~19)
  • RSA算法:开启现代密码学的数学之钥
  • SpringMVC中有关请求参数的问题(映射路径,传递不同的参数)
  • 前端小食堂 | Day13 - Vue.js 进阶烹饪术
  • RISC-V特权模式与寄存器
  • 计网面试准备
  • Vue的生命周期
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_param
  • FreeRTOS(7)队列集
  • Redis 主从复制详解:实现高可用与数据备份
  • 【MySQL - 表的内外连接】
  • 【13】单片机编程核心技巧:乘法运算
  • 《Python全栈开发》第2课:HTML骨架搭建 - 从零编写个人简历页面
  • 数字IC后端设计实现教程 |Innovus ICC2 Routing Pin Access Setting设置方法
  • 第十五届蓝桥杯大学B组(握手问题、小球反弹、好数)
  • ChatGPT课件分享(37页PPT)
  • 【亲测有效】Mac系统升级或降级Node.js版本,Mac系统调整node.js版本
  • 【3D视觉学习笔记1】针孔相机模型与坐标系变换
  • 【Azure 架构师学习笔记】- Azure Databricks (17) --Delta Live Table和Delta Table
  • 面试之《webpack从输入到输出经历了什么》
  • 基础网络安全-K8S 配置Ingress-controller 通过HTTPS处理服务请求
  • GB8599-2023标准测试包/小规格测试包/标准生物测试包1.5kg/满负载织物7.5kg/不锈钢金属测试包/空腔负载试验的过程挑战装置(PCD)
  • Linux网络编程之——网络初认识
  • 启智畅想的集装箱号码识别技术,效率与技术的完美结合