代码随想录算法训练营第三十八天|509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

LeetCode 509. 斐波那契数

题目链接:509. 斐波那契数

踩坑:dp[0] = 0真就是第零个斐波那契数等于0,不是第一个。

思路:
确定dp数组的含义:dp[i]:第i个斐波那契数
递推公式:dp[i] = dp[i-1] + dp[i-2]
dp数组初始化:dp[0] = 0; dp[1] = 1
遍历顺序:从前往后

代码:

class Solution {
public:int fib(int n) {vector<int> dp(n+1);dp[0] = 0;dp[1] = 1;for(int i = 2; i <= n; i++){dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
};

LeetCode 70. 爬楼梯

题目链接:70. 爬楼梯

踩坑:在想怎么实现类似回溯的对所有组合的遍历。

思路:对于当前第n阶台阶,其一定是通过1阶或者2阶台阶上来的,换句话说就是从n-1阶跨1阶或者从n-2阶跨2阶上来的,所以到第n阶的方式 = 到n-1阶的方式 + 到n-2阶的方式。这里可以初始化dp[0] = 1; dp[1] = 1或者dp[1] = 1; dp[2] = 2;

代码:

class Solution {
public:int climbStairs(int n) {vector<int> dp(n+1);dp[0] = 1;dp[1] = 1;for(int i = 2; i <= n; i++){dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
};

LeetCode 746. 使用最小花费爬楼梯

题目链接:746. 使用最小花费爬楼梯

踩坑:以为从0开始和从1开始二选一,但其实是都可以。

思路:
dp数组的含义:dp[i]:到第 i 阶的最小花费
递推公式:dp[i] = min(dp[i-1]+cost[i-1], dp[i-2]+cost[i-2])
dp数组初始化:dp[0] = 0; dp[1] = 0;
遍历顺序:从前向后

代码:

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

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

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

相关文章

【Redis实战专题】「技术提升系列」夯实基础分析探究List列表的点点滴滴

夯实基础分析探究List列表的点点滴滴 List列表介绍队列和堆栈场景常用操作指令llen获取链表的长度llen指令的案例介绍添加购物车信息获取用户数购物车数量 lindex获取指定位置的元素lindex指令的案例介绍获取第三个位置的购物车数据 lrange获取链表子元素列表下标的选择lrange指…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 5G基站光纤连接问题(200分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

(项目实战)业务场景中学透RocketMQ5.0-事务消息在预付卡系统中的应用

1 什么是事务消息 RocketMQ中事务消息主要是解决分布式场景下各业务系统事务一致性问题&#xff0c;常见的分布式事务解决方案有传统XA事务方案、TCC、本地消息表、MQ事务等。今天我们基于RocketMQ事务消息解决预付卡系统资金账户子系统和会员积分子系统、短信子系统分布式事务…

光伏、储能一体化监控及运维解决方案

前言&#xff1a;今年以来&#xff0c;在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速&#xff0c;装机容量均大幅度增长&#xff0c;新能源发电已经成为新型电力系统重要的组成部分&#xff0c;同时这也导致新型电力系统比传统的电力系统更为复杂…

某联参考答案

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title> </head> <body> <form action""><h2>智能招聘注册</h2><table width1000 align"cen…

SQLITE日期类型问题:该字符串未被识别为有效的 DATETIME

使用SQLite抛出异常&#xff1a; 该字符串未被识别为有效的 DateTime 错误 解决方法&#xff1a; 1. 查询的列createdate的数据类型为date 1&#xff09;在SQLite数据库管理器SQLiteStudio能正常查询到。 2&#xff09;在.net中&#xff0c;就会抛出异常&#xff1a;该字符串未…

如何通过AI进行智能日志异常检测

智能日志异常检测是一种利用人工智能&#xff08;AI&#xff09;技术来自动识别日志数据中异常模式或行为的方法。传统日志监控依赖于预定义规则&#xff0c;而智能日志异常检测可以适应不同的日志模式和异常类型&#xff0c;提高检测准确性和效率。下面是一个完整的步骤指南&a…

想要成为程序员,首先你需要掌握这这三种编程语言!

作为程序员&#xff0c;掌握多种编程语言是非常有价值的&#xff0c;因为不同的编程语言有不同的优势和适用场景。然而&#xff0c;要指定“必须掌握”的三种编程语言是相当主观的&#xff0c;因为这取决于个人的职业目标、所在行业的需求以及技术趋势。不过&#xff0c;以下三…

【深海王国】小学生都能做的APP?AppInventor、BLE蓝牙、Arduino联合开发你的第一个手机远程控制程序(7)

Hi~ (o^^o)♪, 各位深海王国的同志们&#xff0c;早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω) 今天大都督依旧为大家带来小学生都能学会的APP制作教程&#xff0c;帮你一周内快速开发一款可以和单片机无线通讯的手机蓝牙APP&#xff0c;let’s go&#xff01; &a…

error: the type ‘const zjloc::<lambda(const Vec2i, const Vec2i)>’

catkin_make 编译时遇到这个问题&#xff1a; /home/robot/ct_lio/src/ct-lio/src/common/eigen_types.h:114:20: error: the type ‘const zjloc::<lambda(const Vec2i&, const Vec2i&)>’ of ‘constexpr’ variable ‘zjloc::less_vec2i’ is not literal 114…

AI落地不容乐观-从神话到现实

开篇 在这儿我不是给大家泼冷水&#xff0c;而是我们一起来看一下从2022年11月左右GPT3.0掀起了一股“AI狂潮”后到现在&#xff0c;AI在商用、工业、军用下到底有没有得到了大规模应用呢&#xff1f; 这个答案每一个参与者其实心里有数那就是&#xff1a;没有。 但是呢它的…

OrangePi连接Wi-Fi步骤

下面介绍的是用终端命令行的方式配置WIFI&#xff1a; 首先输入以下命令用于扫描并查看周围的WiFi热点。也可以直接连接。 nmcli dev wifi之后会在终端打出周围所有可以连接的WiFi&#xff0c;按方向键上下可以查看显示更多&#xff0c;按q键退出。 然后同样使用nmcli命令连接…

提升教学效率的全方位解决方案

在现代教育环境中&#xff0c;教学管理的复杂性与日俱增。如何高效管理教学活动、优化教师资源、提升教学质量&#xff0c;是每个教育机构面临的重要挑战。搭贝教务教学管理系统提供了一套全面的解决方案&#xff0c;涵盖了巡检、调课代课、生源登记、监考、外派、作业发布、听…

机器学习(V)--无监督学习(六)流形学习

title: 机器学习(V)–无监督学习(二)流形学习 date: katex: true categories: Artificial IntelligenceMachine Learning tags:机器学习 cover: /img/ML-unsupervised-learning.png top_img: /img/artificial-intelligence.jpg abbrlink: 26cd5aa6 description: 流形学习 【降…

L54--- 404.左叶子之和(深搜)---Java版

1.题目描述 2.思路 递归遍历左子树 &#xff0c;然后再把左子树的和相加 3.代码实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val …

代码随想录算法训练营第四十五天|LeetCode337 打家劫舍Ⅲ

题1&#xff1a; 指路&#xff1a;337. 打家劫舍 III - 力扣&#xff08;LeetCode&#xff09; 思路与代码&#xff1a; 方法一&#xff1a;暴力 暴力解法&#xff1a;我们讨论根结点处的偷取形式。此时情况分为两种&#xff1a;考虑偷取根节点&#xff0c;和不考虑偷取根节…

深度学习调参笔记

就是因为增加了下面这个代码片段&#xff0c;使得训练过程耗时增加了3倍。。。 def set_seed(seed):random.seed(seed)np.random.seed(seed)torch.manual_seed(seed)torch.cuda.manual_seed(seed)torch.cuda.manual_seed_all(seed)cudnn.benchmark Falsecudnn.deterministic …

【Git】--Part4--多人协作

在之前的Git博客中&#xff0c;已经把Git本地相关的操作以及远程操作的介绍完了。如下&#xff1a; Git–Part1–基础操作 - 掘金 (juejin.cn)Git–Part2–分支管理 - 掘金 (juejin.cn)Git–Part3–远程操作 & 配置 & 标签管理 - 掘金 (juejin.cn) 这篇文章会介绍两种…

iptables(5)常用扩展模块

简介 之前我们已经介绍过扩展模块的简单使用,比如使用-m tcp/udp ,-m multiport参数通过--dports,--sports可以设置连续和非连续的端口范围。那么我们如何匹配其他的一些参数呢,比如源地址范围,目的地址范围,时间范围等,这就是我们这篇文章介绍的内容。 iprange扩展模块…

Eclipse使用TFS(Team Foundation Server) 超详细

Eclipse使用TFS 1、什么是TFS2、TFS和Git的区别3、签出代码4、签入代码4.1、签出以进行编辑4.2、修改本地代码4.3、签入挂起的更改4.4、签入 如果不能 签入挂起的更改&#xff0c;则先 签出以进行编辑如果 签入挂起的更改不可选中&#xff0c;则 如下操作 1、什么是TFS Team F…