代码随想录算法训练营Day38 || leetCode 7509. 斐波那契数 || 70. 爬楼梯 || 746. 使用最小花费爬楼梯

动态规划和我们数电中学习的时序电路类似,某一时刻的状态不仅与当前时刻的输入有关,还与之前的状态有关,所以推导过程中我们需要模拟题目中的情况,来找到每一时刻状态间的关系。
做题思路如下

509. 斐波那契数 

此题简单

状态方程为dp[i]=dp[i-1]+dp[2]

初始状态dp[0]=0,dp[1]=1

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

70. 爬楼梯 

仔细分析一下就会发现,此题本质也是斐波那契数列

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

746. 使用最小花费爬楼梯

首先小于两层的楼梯可以看作是无花费的,于是从第二层楼梯看起

因为求最小花费,且每次都可爬一到两层

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

由此找到关系写代码即可

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n = cost.size();
        vector<int> dp(n+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.mfbz.cn/a/437449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

对于simplex算法的代码实现最优解存在性的证明

对于任何线性规划系统,并不是都存在最优解,如果在约束条件中,每个常量都是大于等于0的,那么线性规划系统肯定是有最优解的,此时将每个变量选取为0就可以了。而只有当约束条件中的常量有小于0的情况的时候,才需要验证系统是否存在最优解,给出一个反例,进行最优解的存在性…

[项目设计] 从零实现的高并发内存池(五)

&#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[高并发内存池] ❤️ 前置学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 ​ 目录 8 使用定长内存池脱离new 9. 释放对象时不传大小 10.性能优化 10.1…

电脑要用多少V的电源?电脑电源输入电压是市电

台式电源的输出电压是多少&#xff1f; 电脑电源输出一般有三种不同的电压&#xff0c;分别是&#xff1a; 12V、5V、3.3V。 电脑电源负责给电脑配件供电&#xff0c;如CPU、主板、内存条、硬盘、显卡等&#xff0c;是电脑的重要组成部分。 工作电流根据不同的硬件及其使用状…

前端技术研究越深入,越觉得技术不是决定录用唯一条件。

一、拒绝抬杠 我说技能不是唯一条件&#xff0c;不是说技能不重要&#xff0c;招聘前端条件是1X,其中1是技能&#xff0c;X是其他条件。 如果X条件很优秀&#xff0c;1这个条件可以降格为0.8、0.5&#xff0c;甚至更低。 有人就抬杠&#xff0c;那为啥不招聘清洁工来干前端&…

软考一年一次,自学的人扛不住了...

相信大家最近也看到了&#xff0c;软考有些科目已经改为一年一次&#xff0c;对于自学的人来讲&#xff0c;无疑是雪上加霜... 2024年软考考试时间安排&#xff1a; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xff0c;不超过 140 字…

构建读写分离的数据库集群

目录 1. 基础环境配置 &#xff08;1&#xff09;修改主机名 &#xff08;2&#xff09;编辑hosts文件 &#xff08;3&#xff09;配置Yum安装源 &#xff08;4&#xff09;安装JDK环境 2. 部署MariaDB主从数据库集群服务 &#xff08;1&#xff09;安装MariaDB服务 &a…

记录一次Dubbo远程调用的错误

情景&#xff1a;有一个生成PDF的接口中&#xff0c;如下&#xff1a; GET Path("/getPDF") public void getPDF(QueryParam("id") String id, Context HttpServletResponse response) {………… }之前实现的代码都写在了Controller里面&#xff0c;代码里…

网络调试助手使用MQTT协议与Mosquitto通信(3)

一、连接报文 一开始设备需要连接到mqtt服务器&#xff0c;连接时的数据包内需要携带对应的设备ID&#xff0c;以及用户名和密码。这使用默认的用户名和密码。设备ID每一个设备都需要设置为不同的&#xff0c;两个相同的ID只能允许一台设备在线&#xff0c;另一个相同的ID的设备…

VUE前端问题

一、图表内容不显示 watch: {chartData3: {handler() {this.init();},},timeData3: {handler() {this.init();},},}, 添加上面代码可以动态监控数据&#xff0c;实现图表的展示。 二、背景图片报错显示不出来 解决方法&#xff1a; background: url(~/assets/login/e.png) …

hack the box 之Bizness

端口扫描 服务扫描 漏洞扫描 Web 没什么东西目录扫描一下 注意这里有301需要操作一下 这个需要登入 直接查一下这个登入的目录 【Apache OFBiz 系列】手把手教你快速运行OFBiz项目_/ofbiz/runtime/data/derby/ofbiz/seg0-CSDN博客 右下角有版本 有关apache ofbiz的漏洞信息 …

【Linux】权限管理(文件的访问者、类型和访问权限,chmod、chown、chgrp、umask,粘滞位)

目录 00.前言 01.文件访问者的分类 02.文件类型和访问权限 文件类型&#xff1a; 文件基本权限&#xff1a; 03.文件权限值的表示方法 04.访问权限的设置 &#xff08;1&#xff09;chmod &#xff08;2&#xff09;chown &#xff08;3&#xff09;chgrp &#xff0…

测试入门篇

测试: 这里写目录标题 测试:基础概念:BUG:创建一个合理的bug:bug 的级别:跟开发争执如何解决: 测试用例:编写测试用例的万能公式:案例: 登录功能的测试:设计测试用例的方法: 进阶篇(主要介绍测试方法):自动化测试:自动化测试的分类:selenium( web 自动化测试工具 )环境部署:什么…

Jvm 虚拟机命令

Jps (查看正在运行的Java 进程) jps -q 只输出进程id、省略主类名称 -m 输出Jvm 进程启动时传递给主类main 函数参数 -l 输出主类全名称 -v 输出 Jvm 启动时的Jvm 参数 Jstat 查看 Jvm 统计信息 -class 监视类装载、卸载数量、总空间以及类装载所耗费的时间 -gc 监视 Java 堆…

【力扣 - 无重复字符的最长字符串】

题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 示例 2: 输入: s "bbbbb" 输出: 1 …

程序地址空间

引入 看这样一段代码 1 #include<stdio.h>2 #include<unistd.h>3 #include<stdlib.h>4 5 int g_val 100;6 int main()7 {8 pid_t id fork();9 if(id0)10 {11 int cnt 0;12 while(1)13 {14 printf("child,pid:%d,ppid:%d,g_val:%d,&g_v…

记一次Flink任务无限期INITIALIZING排查过程

1.前言 环境&#xff1a;Flink-1.16.1&#xff0c;部署模式&#xff1a;Flink On YARN&#xff0c;现象&#xff1a;Flink程序能正常提交到 YARN&#xff0c;Job状态是 RUNNING&#xff0c;而 Task状态一直处于 INITIALIZING&#xff0c;如下图&#xff1a; 通过界面可以看到…

分布式搜索引擎-elasticsearch基础

分布式搜索引擎-elasticsearch基础 1、什么是elasticsearch&#xff1f; elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch结合kibana、Logstash、Beats&#xff0c;也就是elastic stack&#xff08;ELK&a…

【问题解决】| 关于vscode调试python文件 报错 且直接运行正常的诡异情况记录

关于python的debug报错&#xff0c;其实很奇怪 首先&#xff0c;对于工作区代码&#xff0c;我们可以通过CtrlShiftP 来切换Python解释器 这样的话&#xff0c;工作区的代码就不会报import error 而且这样的话是可以运行跑通的&#xff0c;但最抽象的一集来了&#xff0c;这…

element-ui radio 组件源码分享

今日简单分享 radio 组件的实现原理&#xff0c;主要从以下三个方面来分享&#xff1a; 1、radio 页面结构 2、radio 组件属性 3、radio 组件方法 一、radio 页面结构 1.1 页面结构如下&#xff1a; 二、radio 属性 2.1 value / v-model 属性&#xff0c;类型为 string / …

DNS——域名系统

TCP/IP提供了通过IP地址来连接到设备的功能&#xff0c;但对用户来讲&#xff0c;记住某台设备的IP地址是相当困难的&#xff0c;因此专门设计了一种字符串形式的主机命名机制&#xff0c;这些主机名与IP地址相对应。在IP地址与主机名之间需要有一种转换和查询机制&#xff0c;…