leetcode hot100爬楼梯

在这里插入图片描述
在本题目中,要求爬第n阶有多少种爬法,并且每次只能爬1个或者2个,这明显是动态规划的问题,我们需要用动态规划的解决方式去处理问题。动态规划就是按照正常的顺序由前向后依次推导。而递归则是从结果往前去寻找(个人理解)。

动态规划一共需要仔细处理5步:

  1. 确定dp数组的含义以及其下标的含义(dp数组一般保存的就是整个变化过程中一直变化的状态)。
  2. 确定递推公式。
  3. 确定dp数组的初始化
  4. 确定遍历顺序
  5. 打印dp数组

所以我们根据这个题目,先正常推导一下流程
当位于0层时,假设为1
当位于1层时,只有1种方法
当位于2层时,有2种方法(1层时往上走1个台阶即可)
当位于3层时,有3种方法(1层时往上走两次1个台阶/2个台阶,2层时往上走一个台阶)

首先 我们确定dp数组的含义:dp[i]表示爬到第i阶有多少种爬法
由上述推导可知dp[i] = dp[i-1]+dp[i-2]
我们初始化数组,令dp[0]=1,dp[1]=1(其实dp[0]=1是整个数组种的特殊项,好比数列种的特殊项)
之后我们从前向后依次推理就可以了

class Solution {public int climbStairs(int n) {int[] dp = new int[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];}
}

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

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

相关文章

Android 9.0 禁用adb shell input输入功能

1.前言 在9.0的系统rom产品开发中,在进行一些定制开发中,对于一些adb shell功能需要通过属性来控制禁止使用input 等输入功能,比如adb shell input keyevent 响应输入事件等,所以就需要 熟悉adb shell input的输入事件流程,然后来禁用adb shell input的输入事件功能,接…

docker的常用命令有哪些?

Docker 是一种容器化平台&#xff0c;用于构建、部署和运行应用程序。下面是一些常用的 Docker 命令&#xff1a; 镜像相关命令&#xff1a; docker images&#xff1a;列出本地的镜像。docker pull <镜像名>&#xff1a;从 Docker 仓库中拉取镜像。docker build -t <…

光芒绽放:妙用“GLAD原则”打造标准的数据可视化图表

光芒绽放&#xff1a;妙用“GLAD原则”打造标准的数据可视化图表 文章目录 光芒绽放&#xff1a;妙用“GLAD原则”打造标准的数据可视化图表前言一、可视化工具有哪些&#xff1f;二、那如何做出正确可视化图表 &#xff1f;GLAD原则1.G原则2.L原则3.A原则4.D原则 三、总结最后…

《VulnStack》ATTCK-1

title: 《VulnStack》ATT&CK-1 date: 2024-01-29 14:53:49 updated: 2024-02-14 18:55:49 categories: WriteUp&#xff1a;Cyber-Range excerpt: 主机发现、端口扫描&#xff0c;服务探测&#xff0c;操作系统探测、nmap 漏洞库扫描、网站首页信息泄露、msf 渗透与信息收集…

云计算基础-云计算概念

云计算定义 云计算是一种基于互联网的计算方式&#xff0c;通过这种计算方式&#xff0c;共享的软硬件资源和信息可以按需提供给计算机和其他设备。云计算依赖资源共享以达成规模经济&#xff0c;类似基础设置(如电力网)。 云计算最基本的概念就是云加端&#xff0c;我们有一个…

SW100TSN-百兆车载以太网交换机

更多资讯可以进入官网查看或者联系我们http://www.hdn-vdo.com

基于BP算法的SAR成像matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 BP算法的基本原理 4.2 BP算法的优点与局限性 5.完整工程文件 1.课题概述 基于BP算法的SAR成像。合成孔径雷达&#xff08;SAR&#xff09;是一种高分辨率的雷达系统&#xff0c;能够在各种天气和光…

xtu oj 1090 组合数

Description 2^nC(n,0)C(n,1)…C(n,n)。其中^表示幂&#xff0c;C(n,x)表示组合数&#xff0c;即C(n,x)n!/&#xff08;(n-x)!x!&#xff09;。现在给你n&#xff08;0<n<33&#xff09;&#xff0c;要你输出2^n的组合数之和的表达式 输入 每行一个整数n&#xff0c;如果…

Kafka King 推荐一款漂亮、现代、实用的kafka客户端

Kafka King 一个漂亮、现代、实用的kafka客户端&#xff0c;使用python flet、flutter构建。 Github主页&#xff1a;https://github.com/Bronya0/Kafka-King 下载&#xff1a;https://github.com/Bronya0/Kafka-King/releases 功能清单 查看集群节点列表创建主题&#xf…

波奇学Linux:文件系统打开文件

从文件系统来看打开文件 计算机系统和磁盘交互的大小是4kb 物理内存的4kb&#xff0c;磁盘的4kb文件叫做页帧 磁盘数据块的以4kb为单位。 减少IO的次数&#xff0c;减少访问外设的次数--硬件 基于局部性的原理&#xff0c;预加载机制--软件 操作系统管理内存 操作系统对…

MySQL数据库基础(五):SQL语言讲解

文章目录 SQL语言讲解 一、SQL概述 二、SQL语句分类 1、DDL 2、DML 3、DQL 4、DCL 三、SQL基本语法 1、SQL语句可以单行或多行书写&#xff0c;以分号结尾 2、可使用空格和缩进来增强语句的可读性 3、MySQL数据库的SQL语句不区分大小写&#xff0c;关键字建议使用大写…

【OpenAI Sora】开启未来:视频生成模型作为终极世界模拟器的突破之旅

这份技术报告主要关注两个方面&#xff1a;&#xff08;1&#xff09;我们的方法将各种类型的视觉数据转化为统一的表示形式&#xff0c;从而实现了大规模生成模型的训练&#xff1b;&#xff08;2&#xff09;对Sora的能力和局限性进行了定性评估。报告中不包含模型和实现细节…

探索用户需求:跨行业理解软件开发的快速方式

在当今数字化时代&#xff0c;软件开发成为推动各行各业创新和发展的关键要素。然而&#xff0c;由于软件开发领域的专业性和技术性&#xff0c;跨行业的用户有时难以理解软件开发的过程和方法。本文将探讨一些快速获取用户需求的方式&#xff0c;以便更广泛的跨行业用户能够理…

Python面向对象学习小记

python中的类可以分为经典类和新式类。 类的定义方法&#xff1a; class 类名&#xff1a; pass 类名后面没有小括号&#xff01;&#xff01;&#xff01; 【注意和函数的定义做区分。】 函数的定义&#xff1a; def 函数名(): pass

《A++ 敏捷开发》- 8 获取高层支持

我&#xff1a;对过程改进来说&#xff0c;最重要的成功要素是什么&#xff1f; 客户&#xff1a;最难的是如何得到高层的支持&#xff0c;这不仅仅是嘴巴说说而已&#xff0c;而是要切实地给人、给时间。高层往往不清楚什么是质量改进的重点&#xff0c;但他们对员工的人均收入…

AcWing 1235. 付账问题(贪心)

[题目概述] 几个人一起出去吃饭是常有的事。 但在结帐的时候&#xff0c;常常会出现一些争执。 现在有 n 个人出去吃饭&#xff0c;他们总共消费了 S 元。 其中第 i 个人带了 a i a_i ai​ 元。 幸运的是&#xff0c;所有人带的钱的总数是足够付账的&#xff0c;但现在问题来…

蓝桥杯:C++数组

数组 数组是最简单的数据结构&#xff0c;虽然数组简单&#xff0c;但是在算法竞赛中至关重要&#xff0c;因为其他数据结构都可以用数组来模拟&#xff0c;即“物理存储上是数组&#xff0c;逻辑上是其他数据结构”。用数组模拟其他数据结构&#xff0c;虽然不是工程项目中的…

2.12日学习打卡----初学RocketMQ(三)

2.12日学习打卡 目录&#xff1a; 2.12日学习打卡一. RocketMQ高级特性&#xff08;续&#xff09;消息重试延迟消息消息查询 二.RocketMQ应用实战生产端发送同步消息发送异步消息单向发送消息顺序发送消息消费顺序消息全局顺序消息延迟消息事务消息消息查询 一. RocketMQ高级特…

分布式文件系统 SpringBoot+FastDFS+Vue.js【四】

分布式文件系统 SpringBootFastDFSVue.js【四】 八、文件的下载和删除功能8.1.FastDFSClient.java8.2.FileServerController.java8.3.Vue的fast.js8.4.fastdfsimg.vue8.5.效果 九、总结endl 八、文件的下载和删除功能 8.1.FastDFSClient.java Slf4j public class FastDFSClie…

无人机地面站技术,无人机地面站理论基础详解

地面站作为整个无人机系统的作战指挥中心&#xff0c;其控制内容包括:飞行器的飞行过程&#xff0c;飞行航迹&#xff0c; 有效载荷的任务功能&#xff0c;通讯链路的正常工作&#xff0c;以及 飞行器的发射和回收。 无人机地面站总述 地面站作为整个无人机系统的作战指挥中心…