动态规划 —— 斐波那契数列模型-最小花费爬楼梯

1. 最小花费爬楼梯

题目链接:

746. 使用最小花费爬楼梯 - 力扣(LeetCode)icon-default.png?t=O83Ahttps://leetcode.cn/problems/min-cost-climbing-stairs/description/

 


2.  题目解析  


3. 算法原理 

1. 状态表示:以i位置为结尾

    

dp[i]表示:到达第i个位置的时的最小花费

 

2. 状态转移方程: 用dp[i]之前的状态或者之后的状态来推导出dp[i]的值

   

根据最近的一步来划分问题:

                                        1. 先到达i-1的位置,支付cost[i-1]的费用,再走一步到达dp[i]

  

                                        1. 先到达i-2的位置,支付cost[i-2]的费用,再走两步到达dp[i]

   算出两种情况的最小花费:

                                        到达I-1位置的最小花费就是dp[I-1] + cost[i-1]

    

                                        到达I-2位置的最小花费就是dp[I-2] + cost[i-2]

    

那么本题的状态转移方程是:dp[i] = min(dp[I-1] + cost[i-1] , dp[I-2] + cost[i-2])

3. 初始化 :把dp表填满不越界,让后面的填表可以顺利进行

     

本题初始化为:dp[0] = dp[1] = 0

4. 填表顺序 

本题的填表顺序是:从左到右

5. 返回值 :题目要求 + 状态表示 

本题的返回值是:直接返回dp[n]


4. 代码

动态规划的固定四步骤:1.  创建一个dp表

                                        2. 在填表之前初始化

                                        3. 填表(填表方法:状态转移方程)

                                        4. 确定返回值 

class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {int n=cost.size();vector<int>dp(n+1);dp[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];}
};

感谢观看~

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

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

相关文章

《关于构图问题》

这是一本讲绘画技巧的书&#xff0c;但仔细琢磨体现出不易察觉的东方哲学思想。中国画讲究意境与留白&#xff0c;留白不代表“空”&#xff0c;而是代表对“实”的延伸&#xff0c;留下瞎想空间&#xff0c;实现对“有限&#xff08;实&#xff09;”的超越。 总论 文艺是人们…

k8s可以部署私有云吗?私有云部署全攻略

k8s可以部署私有云吗&#xff1f;K8S可以部署私有云。Kubernetes是一个开源的容器编排引擎&#xff0c;能够自动化容器的部署、扩展和管理&#xff0c;使得应用可以在各种环境中高效运行。通过使用Kubernetes&#xff0c;企业可以在自己的数据中心或私有云环境中搭建和管理容器…

004:ABBYY PDF Transformer安装教程

引言&#xff1a;本文主要讲解。 一、软件介绍 ABBYY PDF Transformer由ABBYY公司出品&#xff0c;属于一款家庭及商业都适用的PDF文档转换工具。它结合了ABBYY的OCR&#xff08;光学字符识别&#xff09;技术和Adobe PDF库技术&#xff0c;以确保能够便捷地处理任何类型的PDF…

基于C语言实现的UDP客户端

目录 一、UDP协议简介 二、基于C语言实现UDP客户端 1. 必要的头文件 2. 实现UDP客户端的核心代码 3. 代码解析 4. 编译和运行 5. 测试UDP客户端 三、总结 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种面向无连接的传输层协议&a…

elementUI进度条el-progress不显示白色

效果图 通过设置百分比为100,动态修改进度条的宽度完成 <template><div class"myProgressBox"><div class"index">{{ index }}</div><div class"typeTitle">{{ typeTitle }}</div><div class"twoP…

【Redis 设计与实现】String 的数据结构如何实现的?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

OWE认证介绍

针对于开放性Wi-Fi网络&#xff0c;WPA3也在OPEN认证的基础上做了升级&#xff0c;提出了OWE认证。OWE认证是基于机会性无线加密算法OWE&#xff08;Opportunistic wireless encryption&#xff09;的新一代开放网络认证方式&#xff0c;也叫做增强型开放网络认证&#xff08;e…

初始JavaEE篇——多线程(4):生产者-消费者模型、阻塞队列

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 文章目录 阻塞队列生产者—消费者模型生产者—消费者模型的优势&#xff1a;生产者—消费者模型的劣势&#xff1a; Java标准库中的阻…

通过rancher2.7管理k8s1.24及1.24以上版本的k8s集群

目录 初始化实验环境 安装Rancher 登录Rancher平台 通过Rancher2.7管理已存在的k8s最新版集群 文档中的YAML文件配置直接复制粘贴可能存在格式错误&#xff0c;故实验中所需要的YAML文件以及本地包均打包至网盘. 链接&#xff1a;https://pan.baidu.com/s/1oYX4eGoBtW_R-7i…

编程语言大小写敏感有规则吗?续行符可以忽略空格吗?为什么注释不能在字符或者字符串中?

编程语言大小写敏感有规则吗? 除了少部分编程语言&#xff0c;大部分编程语言都是大小写敏感。 不敏感 Fortran/VB/SQL/批处理 敏感 C/ObjC/C/Java/C#/Python/JS/Rust/Swift/Go/仓颉/Shell 导出标识符 Go语言标识符首字母大写代表可导出给外部使用的标识符。 续行符可以忽略空…

什么是命名实体识别?

一、说明 命名实体识别 &#xff08;NER&#xff09; 也称为实体分块或实体提取&#xff0c;是自然语言处理 &#xff08;NLP&#xff09; 的一个组件&#xff0c;用于识别文本正文中的预定义对象类别。这些类别可以包括但不限于个人姓名、组织、地点、时间表达、数量、医疗代码…

深入了解 MySQL 中的 INSERT ... SELECT 语句

在 MySQL 数据库管理中&#xff0c;INSERT ... SELECT 语句是一种非常强大的数据处理工具。它允许我们从一个表中选择数据&#xff0c;并将其插入到另一个表中。这种方式不仅高效&#xff0c;而且在数据迁移和归档过程中非常实用。本文将深入探讨 INSERT ... SELECT 语句的用法…

基于Multisim的音频放大电路设计与仿真

基本设计要求&#xff1a;设计并仿真实现一个音频功率放大器。功率放大器的电源电压为&#xff0b;5V&#xff08;电路其他部分的电源电压不限&#xff09;&#xff0c;负载为8Ω电阻。具体要求如下&#xff1a;1&#xff09;3dB通频带为300&#xff5e;3400Hz&#xff0c;输出…

WebSocket简单使用

1.WebSocket 简介 WebSocket 是一种网络通信协议&#xff0c;提供了在单个TCP连接上进行全双工通信的能力。这意味着客户端和服务器可以同时发送和接收数据&#xff0c;而不需要等待对方的回应。WebSocket 协议在2011年成为国际标准&#xff0c;并且被大多数现代浏览器所支持。…

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 目录 AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型&#xff0c;实现 API 形式进行聊天对话 一、简单介绍 二、创建一个聊…

python爬虫基础篇:BeautifulSoup解析界面

BeautifulSoup解析界面 下载&#xff1a;pip install bs4 from bs4 import BeautifulSoupimport requestshead {user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0}html request…

用ElementPlus开发el-tab结合router-view调用组件时需要注意多次渲染的问题

最近在用vue3elementPlus开发后台界面&#xff0c;用到右侧el-tab这个组件结合router-view实现调用&#xff0c;刚在逛csdn的时候发现一个大佬说如果把router-view放在el-tab-pane下会导致多次渲染&#xff0c;我想还有这事&#xff1f;赶紧测试一下。。。果然&#xff0c;大佬…

Python数字图像处理——基于SIFT特征提取的图像拼接算法(暴力匹配、knn匹配和hist匹配)

&#xff08;1&#xff09;项目概述 本文通过Python实现基于SIFT特征提取的图像拼接算法&#xff0c;包括三种匹配策略&#xff1a;暴力匹配、KNN&#xff08;k近邻&#xff09;匹配和hist直方图的特征匹配。SIFT算法是一种在尺度和旋转上不变的特征提取算法。它能够在图像中找…

Python浪漫之画星星

效果图&#xff08;动态的哦&#xff01;&#xff09;&#xff1a; 完整代码&#xff08;上教程&#xff09;&#xff1a; import turtle import random import time # 导入time模块# 创建一个画布 screen turtle.Screen() screen.bgcolor("red")# 创建一个海龟&a…

程序员修仙传

凡人修仙 前文修仙愿望练气期筑基期结丹期元婴期化神期大乘期成神 前文 工作好几年了&#xff0c;前前后后经历很多。一年一度的程序员日&#xff0c;回首总是惆怅&#xff0c;但时间永远向前&#xff0c;以前车之鉴未雨绸缪。工作如修仙&#xff0c;以修仙角度解读心得感想。…