动态规划--使用最小花费爬楼梯

news2024/9/27 21:22:02

 个人主页:Lei宝啊 

愿所有美好如期而遇


本体题目链接icon-default.png?t=N7T8https://leetcode.cn/problems/GzCJIP/

示例图示

 

 

本题动态规划解释

动态规划,如果真要清楚理解的话,可能一开始学习不太可能,专有名词太多,我们就先简单理解。

状态表示,状态转移方程,初始化,填表顺序,返回值,也就分这么几个步骤,也许你不理解,那就对了,我们分开简单说。

状态表示,也就是建一个数组,我们叫做dp表(动态规划缩写),数组每个值都对应一个状态,本题来说,dp[i]就表示到达第i个台阶的最低花费。我们如何得到他的状态,经验+题目分析(这不是废话嘛),简单来说,多做题,上百道就差不多有感觉了(滑稽)。

状态转移方程,就是dp[i]等于什么,我们图示已然分析出来:

dp[i] = min(dp[i-1]+cost[i-1], dp[i-2]+cost[i-2])。

初始化,给初始的几个状态赋值。我们为了避免越界,给dp[1]和dp[0]赋初值0。

填表顺序,就是根据状态转移方程填dp表。

返回值,返回哪个位置的值呢?由你决定。

 

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) 
    {
        vector<int> v(cost.size() + 1);

        for(int i=2; i<= cost.size(); i++)
        {
            v[i] = min(v[i-1]+cost[i-1],v[i-2]+cost[i-2]);
        }

        return v[cost.size()];
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自己动手做 chatgpt:seq2seq翻译模型中GRU模块的原理和数据预处理

chatgpt 是典型的 NLP 类型应用。也就是它主要于语言的处理和输出。因此它的模型设计必然借鉴了深度学习早期在语言翻译方面的算法设计。因此理解 chatgpt 我们就需要理解深度学习算法是如何处理自然语言翻译这个问题&#xff0c;就像学习微积分时&#xff0c;我们需要提前掌握…

Kafka日志文件存储

日志文件 kafka在server.properties配置文件中通过log.dir属性指定了Kafka的日志存储路径 核心文件 1. log文件 实际存储消息的日志文件, 大小固定1G(参数log.segment.bytes可配置), 写满后就会新增一个新的文件, 文件名是第一条消息的偏移量 2. index文件 以偏移量为索引…

GoogleNet网络分析与demo实例

参考自 up主的b站链接&#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 1. GoogLeNet网络详解 GoogLeNet在2014年由Google团队提出&#xff08;与VGG网络同年&#xff0c;注意GoogLeNet中的L大…

VGG网络分析与demo实例

参考自 up主的b站链接&#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 VGG 在2014年由牛津大学著名研究组 VGG&#xff08;Visual Geometry Group&#xff09;提出&#xff0c;斩获该年 Imag…

【交叉编译环境】安装arm-linux交叉编译环境到虚拟机教程(简洁版本)

就是看到了好些教程有些繁琐&#xff0c;我就写了一个 我这个解压安装的交叉编译环境是Linaro GCC的一个版本&#xff0c;可以用于在x86_64的主机上编译arm-linux-gnueabihf的目标代码 步骤来了 在你的Ubuntu系统中创建一个目录&#xff0c;例如/usr/local/arm&#xff0c;然后…

day48算法训练|动态规划part09

198.打家劫舍 1. dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0c;最多可以偷窃的金额为dp[i]。 2.递推公式 决定dp[i]的因素就是第i房间偷还是不偷。 如果偷第i房间&#xff0c;那么…

通信原理 | 通信中有哪些量的单位是dB?

在通信领域中,分贝(dB)被用来表示各种不同的量,包括 信号强度功率电压以下是通信中常用的几种用分贝表示的量: 信号强度(Signal Strength) 通信设备发送或接收信号时,信号的强度可以用分贝来表示,通常以分贝毫瓦(dBm)为单位。 0 dBm表示1毫瓦的信号强度,负值表示…

Wafer晶圆封装工艺介绍

芯片封装的目的&#xff08;The purpose of chip packaging&#xff09;: 芯片上的IC管芯被切割以进行管芯间连接&#xff0c;通过引线键合连接外部引脚&#xff0c;然后进行成型&#xff0c;以保护电子封装器件免受环境污染&#xff08;水分、温度、污染物等&#xff09;&…

基于ssm出租车管理系统的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本出租车管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&…

【视觉实践】使用Mediapipe进行图像分割实践

目录 1 Mediapipe 2 Solutions 3 安装依赖库 4 实践 1 Mediapipe Mediapipe是google的一个开源项目,可以提供开源的、跨平台的常用机器学习(machine learning,ML)方案。MediaPipe是一个用于构建机器学习管道的框架,用于处理视频、音频等时间序列数据。与资源消耗型的机…

Linux开发工具——gcc篇

gcc的使用 文章目录 gcc的使用 历史遗留问题&#xff08;普通用户sudo&#xff09; gcc编译过程 预处理&#xff08;进行宏替换&#xff09; 编译&#xff08;生成汇编&#xff09; 汇编&#xff08;生成机器可识别代码&#xff09; 链接&#xff08;生成可执行文件或库文件&a…

使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析

在之前的文章陆续介绍了 如何在 Kubernetes 中使用 Otel 的自动插桩 以及 Otel 与 服务网格协同实现分布式跟踪&#xff0c;这两篇的文章都将目标聚焦在分布式跟踪中&#xff0c;而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段&#xff0c;今天这篇文章就来体…

MySQL学生向笔记以及使用过程问题记录(内含8.0.34安装教程

MySQL 只会写代码 基本码农 要学好数据库&#xff0c;操作系统&#xff0c;数据结构与算法 不错的程序员 离散数学、数字电路、体系结构、编译原理。实战经验&#xff0c; 高级程序员 去IOE&#xff1a;去掉IBM的小型机、Oracle数据库、EMC存储设备&#xff0c;代之以自己在开源…

通达OA header身份认证绕过漏洞复现

通达OA是中国通达公司的一套协同办公自动化软件&#xff0c;通达OA2013&#xff0c;通达OA2016&#xff0c;通达OA2017 存在身份认证绕过漏洞&#xff0c;攻击者可以利用漏洞生成cookie&#xff0c;实现未授权访问。 1.漏洞级别 高危 2.漏洞搜索 fofa title"office An…

【小白专用】Apache下禁止显示网站目录结构的方法 更新23.12.25

给我一个网站地址&#xff0c;我点开后显示的是目录格式&#xff0c;把网站的目录结构全部显示出来了 这个显示结果不正确&#xff0c;不应该让用户看到我们的目录结构 配置文件的问题,apache配置文件里有一项可以禁止显示网站目录的配置项&#xff0c;禁止掉就好了 在apache…

【Mathematical Model】Ransac线性回归Python代码

Ransac算法&#xff0c;也称为随机抽样一致性算法&#xff0c;是一种迭代方法&#xff0c;用于从一组包含噪声或异常值的数据中估计数学模型。Ransac算法特别适用于线性回归问题&#xff0c;因为它能够处理包含异常值的数据集&#xff0c;并能够估计出最佳的线性模型。 1 简介 …

Java 的 8 种异步实现方式

一、前言 异步执行对于开发者来说并不陌生&#xff0c;在实际的开发过程中&#xff0c;很多场景多会使用到异步&#xff0c;相比同步执行&#xff0c;异步可以大大缩短请求链路耗时时间&#xff0c;比如&#xff1a;「发送短信、邮件、异步更新等」 &#xff0c;这些都是典型的…

将ipynb文件转为py的简单方法(图文并茂)

打开可以使用jupyter命令的命令窗口&#xff08;如果没有jupyter则需要先安装jupyter&#xff09;&#xff0c;cd 命令进入到 ipynb 文件所在的文件夹&#xff0c;执行 jupyter nbconvert --to script xxx.ipynb 即可完成 ipynb 文件到 py 文件的转化&#xff0c;执行 jupyter …

每秒生成110张图像!StreamDiffusion开源 实时图像生成更强了

StreamDiffusion是一个开源项目&#xff0c;最近在推特上引起了热烈讨论。这个项目基于LCM和SDXL Turbo技术&#xff0c;每秒能够生成110张图像&#xff0c;为想要开发实时图像生成产品的人提供了一个值得关注的资源。这个项目主要是为了实时图像生成服务而设计的&#xff0c;并…

基于java的汽车维修保养智能预约系统论文

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…