day02|最小花费爬梯子

最小花费爬梯子

在这里插入图片描述
比如 有一个数组 【2 5 20】我们直接选择从1号梯子(从零编号)跳两格就出去了。

算法原理

  • 我们可以得出楼顶其实是数组的最后一个元素的下一个位置。
  • 对于最值问题我们可以尝试使用dp
  • dp我们首先应该定义状态方差的含义,一般以i元素结尾xxxx或者以i元素开始xxxx
  • 对于这道题我们可以以i元素结尾的最小花费或者以i元素开始最小花费为状态方程
  • 推状态方程就是找相邻状态的关系。

代码实现

一:到i位置结尾的最小花费dp[i],

初始化:dp[0],dp[1] =0 因为我们最开始可以选择从0位置或者1位置开始爬台阶,到0或1位置的最小花费是0。返回dp[n] 是因为楼顶是n

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

二从i位置起始最小花费

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n = cost.size();vector<int> dp ;dp.resize(n+1);dp[n-1] = cost[n-1];dp[n-2] = cost[n-2];for(int i = n -3; i>=0;i--){dp[i] = min(dp[i+1] ,dp[i+2] ) + cost[i]; //支付cost[i]后 选择先后走一步或两步}return min(dp[0],dp[1]);}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624118.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bestvike --bvframe学习

ref title fetch后台api 分页属性&#xff0c;pagination 要差几条&#xff1f;pagelimit 在api中写一个饭方法&#xff0c;vue中用用他 vue.cinfig.js中配置别名 nacos微服务 实体类要继承basedata&#xff08;封装了公共数据&#xff09; 控制器autowired&#xff0c;getm…

力扣101. 对称二叉树(java)

思路&#xff1a; 一、验证 左右子树是否可翻转对称的&#xff1f; 二、分析左右子树情况&#xff1a; 1&#xff09;左右都也空 对称 2&#xff09;左右有一个为空 不对称 3&#xff09;左右都不为空&#xff0c;但数字不同 不对称 4&#xff09;左右都不为空&#xff0c;且数…

【C语言】带你完全理解指针(六)指针笔试题

目录 1. 2. 3. 4. 5. 6. 7. 8. 1. int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } 【答案】 2&#xff0c;5 【解析】 定义了一个指向整数的指针ptr&#xff0c;并将其初始化为&…

【JavaSE】你真的了解内部类吗?

前言 本篇会详细讲解内部类的四种形式&#xff0c;让你掌握内部类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …

如何有效防范互联网域名诈骗?

互联网域名诈骗已成为网络安全的一大隐患。针对这一问题&#xff0c;保护个人和企业的网络安全至关重要。以下是几条谨防互联网域名诈骗的建议&#xff1a; 1.保持警惕&#xff1a;时刻保持对域名诈骗的警惕&#xff0c;警惕不明来历的域名交易或推广。 2.核实域名信息&#xf…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件Check Box的使用及说明 文章编号&#xff1a;…

大模型日报|今日必读的10篇大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.谷歌推出新型 Transformer 架构&#xff1a;反馈注意力就是工作记忆 虽然 Transformer 给深度学习带来了革命性的变化&#xff0c;但二次注意复杂性阻碍了其处理无限长输入的能力。 谷歌研究团队提出了一种新型 T…

「GO基础」目录

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

24华中杯马上就要开赛了!!!!!

需要资料整合的资料可以提前进群呢&#xff08;238651270&#xff09; “华中杯”大学生数学建模挑战赛章程 第一条 总则 “华中杯”大学生数学建模挑战赛&#xff08;以下简称竞赛&#xff09;是湖北省工业与应用数 学学会主办的面向全国大学生的群众性科技活动。“华中杯”定…

软考 - 系统架构设计师 - 嵌入式真题

问题 1&#xff1a; &#xff08;1&#xff09;.HTML 静态化&#xff1a;可以实现对系统经常访问的页面进行静态化以提高系统访问的效率&#xff0c;但系统页面通常需要数据库中的用户信息和用户选择来动态显示&#xff0c;因此不适合采用。 HTML 静态化&#xff1a; 将动态生成…

浅谈Java JVM

Java虚拟机&#xff08;Java Virtual Machine&#xff0c;简称JVM&#xff09;是Java语言的核心组成部分&#xff0c;它是一个抽象的计算机&#xff0c;负责执行Java字节码指令。JVM是Java平台无关性的基石&#xff0c;它为Java代码提供了一个标准的运行环境&#xff0c;使Java…

分布式调度平台

应用场景 1.xxl-job介绍 xxl-job 是一个轻量级分布式任务调度框架&#xff0c;支持动态添加、修改、删除定时任务&#xff0c;支持海量任务分片执行&#xff0c;支持任务执行日志在线查看和分页查询&#xff0c;同时支持任务失败告警和重试机制&#xff0c;支持分布式部署和高…