算法--爬楼梯

leetcode爬楼梯算法 leetcode算法题爬楼梯,第一次提交,如有不足还请多多包涵! 立即下载

描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例

示例 1:

输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。

  1. 1 阶 + 1 阶
  2. 2 阶

示例 2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。

  1. 1 阶 + 1 阶 + 1 阶
  2. 1 阶 + 2 阶
  3. 2 阶 + 1 阶

分析

本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和。
爬上 n-1阶楼梯的方法数量。因为再爬1阶就能到第n阶
爬上 n-2阶楼梯的方法数量,因为再爬2阶就能到第n阶
所以我们得到公式 dp[n] = dp[n-1] + dp[n-2]
同时需要初始化 dp[0]=1dp[0]=1 和 dp[1]=1dp[1]=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];
    }
}


更多解法可以参考

深入探究贝叶斯网络(Bayesian Network):从基础原理到实际应用 贝叶斯网络,也称为信念网络或有向无环图模型,是一种概率图模型。它使用有向无环图(DAG)来表示随机变量之间的条件依赖关系。每个节点代表一个随机变量,边表示变量之间的条件依赖关系。贝叶斯网络作为一种强大的工具,通过结合概率论和图论,为复杂系统建模和推理提供了有效手段。无论是在医学诊断、故障检测还是自然语言处理等领域,它都展示了巨大的潜力。然而,其计算复杂度高、结构学习困难等挑战也需要我们在实际应用中不断优化算法和技术。希望通过本文,你能对贝叶斯网络有更深入的理解,并能够在实际项目中灵活应用这一强大工具。 阅读详情

相关推荐

南京邮电大学《数学实验》模块二(函数的迭代)参考答案

【代码】南京邮电大学《数学实验》模块二(函数的迭代)参考答案。

qq_1293730064的博客 3万+

算法:Climbing Stairs(爬楼梯) 6种解法

说明 算法:Climbing Stairs(爬楼梯) LeetCode地址:https://leetcode.com/problems/climbing-stairs/ 题目: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 step...

AI架构师易筋 1万+

如何使用apifox打包测试用例生成测试套件自动化执行

使用apifox打包测试用例生成测试套件自动化执行

weixin_55613512的博客 2886

爬楼梯问题——三种方法(精简版)

方法一:动态规划 思路和算法 我们用f(x)f(x)f(x)表示爬到第 x 级台阶的方案数,考虑最后一步可能跨了一级台阶,也可能跨了两级台阶,所以我们可以列出如下式子: f(x)=f(x−1)+f(x−2))f(x)=f(x−1)+f(x−2))f(x)=f(x−1)+f(x−2)) 它意味着爬到第 x 级台阶的方案数是爬到第 x−1 级台阶的方案数和爬到第 x−2级台阶的方案数的和。很好理解,因为每次只能爬 1 级或 22级,所以 f(x)只能从 f(x−1)和 f(x−2)转移过来,而这里要统计方案总数

littlea2011的博客 1万+

解密微信视频号推荐算法的三大核心机制

本文深入解析微信视频号推荐算法的三大核心机制:用户行为数据、视频内容质量和社交关系链。通过详细的数据分析和实战测试,揭示算法如何根据完播率、互动深度、原创性检测和社交关系等因素决定内容推荐。帮助用户和创作者更好地理解并利用视频号算法,提升内容曝光和观看体验。

weixin_42573113的博客 1786

数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015

想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。

2303_79329831的博客 1229

经典算法——爬楼梯(解法归纳)(学习笔记)

问题分析 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?是引用 当n=1时,只需爬一个台阶,就是一种解法。 当n=2时,可以走两次一层或者走一次2层。 当n=3时,此时你可能在第一层或者第二层,当在第一层时相当于你在第0层准备去往第二层,当在第二层时相当于你在第0层准备去往第1层。 以此类推。 1.递归调用 int climbStairs(int n) { if(n==1||n==2){ return n; }else{

Vriesianman的博客 2万+

5G NR切换测量事件解析:从A1到B2的实战应用指南

本文深入解析5G NR切换测量事件,从A1到B2的实战应用指南。详细介绍了系统内切换事件(A1-A6)和系统间切换事件(B1-B2)的触发条件与配置建议,帮助优化网络性能。通过实际案例分享,展示如何调整参数提升切换成功率和降低乒乓切换率,适用于5G网络优化工程师。

tcp8optimizer的博客 512

每日算法-7 爬楼梯

爬楼梯(类斐波那契数列)题型,这里记录总结4种解法: 1. 递归法 2. 动态规划法 3. 矩阵法 4. 通项公式法

Millionmile的博客 5001

RK3588平台开发系列讲解(项目篇)常见模型结构

📢 AI 模型常采用人工神经网络来模拟人脑神经的记忆和处理信号的能力。常见的人工神经网络类型有深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。

内核笔记 1756

ABAP Cloud:面向云时代的 ABAP 开发范式与实践指南

摘要: 本文系统讲解SAP ABAP Cloud开发模型,涵盖其架构、工具链、规范及实践。ABAP Cloud作为统一开发模型,支持在SAP BTP和S/4HANA上构建云就绪应用,遵循clean core原则,通过RAP(RESTful应用编程模型)实现低耦合扩展。文章详细解析其核心构成(RAP、稳定API、clean core约束)、工具链(ADT、软件物流)及两种典型扩展场景(on-stack与side-by-side),并附可运行RAP示例代码(如销售笔记应用)。重点强调通过规范开发确保系统可升级性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 388

算法小练——爬楼梯

title: 算法小练——爬楼梯 categories: Algorithms tags: esay abbrlink: 2739738607 date: 2019-11-12 16:44:15 爬楼梯 描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 示例 1: 输入: 2...

李亚飞的博客 3033

电子元器件-三极管终终篇:三极管工作原理详解、参数/手册详解、开关应用详解、Ib电流研究、开关应用实例

三极管工作原理与应用摘要 三极管是一种电流控制器件,通过小基极电流控制大集电极电流。其内部结构由高掺杂发射区、薄低掺杂基区和中等掺杂集电区组成,形成NPN或PNP结。三极管有三种工作状态: 截止区:发射结和集电结均反偏,无放大作用 放大区:发射结正偏,集电结反偏,Ic=βIb 饱和区:两结均正偏,Ic不再随Ib增大 作为开关使用时,需确保三极管深度饱和(Vce≈0.2V)。设计要点包括: 基极电阻计算确保Ib足够大 集电极电阻控制Ic 基极加下拉电阻提高抗干扰 NPN管作地开关,PNP管作电源开关 典型应用

qq_60226558的博客 311

【算法】 爬楼梯

首先题目中说每次你可以爬 1 或 2 个台阶,1、那么我们可以这样理解,总共有n个台阶,那么我们爬到n个台阶的前一步是在n-1或者n-2台阶上,为什么会这样说呢,因为每次只能爬1或者2个台阶,所以到达n个台阶的前一步要么是爬了1个台阶到达n的,要么是爬了2个达到n的。所以到达n个台阶的总方法是到达n-1的总方法+到达n-2的总方法;

时清云的博客 307

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言经典算法之爬楼梯

爬楼梯算法1、题目描述2、题目分析2.1 图解2.2 方法分析3、题解心得 1、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶

静水流深 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【算法】爬楼梯之PHP实现

假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定n是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. ...

allen的博客 1714

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

python爬楼梯_Python3爬楼梯算法示例

Python3爬楼梯算法示例本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。方案一:每一步都是前两步和前一步的和class Solution(object):def climbStairs(self, n):""":type n:...

weixin_39934085的博客 842

爬楼梯算法

爬楼梯问题是动态规划的一个经典案例,展示了如何将一个复杂问题分解为简单的子问题,并通过避免重复计算来提高效率。无论是递归方法还是动态规划方法,关键都在于理解问题的本质,并寻找合适的方法来解决它。通过解决这样的问题,我们不仅能够学习特定的算法和技术,还能够提高我们解决问题的能力,这对于任何一位编程爱好者或专业人士都是宝贵的财富。

weixin_53285092的博客 947

领扣LintCode算法问题答案-111. 爬楼梯

领扣LintCode算法问题答案-111. 爬楼梯 目录111. 爬楼梯鸣谢 111. 爬楼梯 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 样例 1: 输入: n= 3 输出: 3 样例解释: 1) 1, 1, 1 2) 1, 2 3) 2, 1 共3种 样例 2: 输入: n = 1 输出: 1 解释: 只有一种方案 public class Solution { /** * @param n: An int.

二当家的白帽子 1496

python算法爬楼梯

python算法爬楼梯

运维@小兵的博客 6740

初级算法:爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 3. 1 阶 + 1 阶 + 1 阶 4. 1 阶 + 2 阶 5. ...

胖虎的博客 341

python爬楼梯问题_爬楼梯算法的数学思路

爬楼梯算法的数学思路今日腾讯实习面试,问到一题算法。爬楼梯问题:一个楼梯一共n个台阶,一次上1或者2个台阶。问,一共多少种解法。这个问题,当时学递归的时候,我记得做过。但是已经一年半没写过递归和动态规划。所以,第一反应是用数学思路解决。数学的想法是这样的:n已知我们创建一个列表存放执行的步骤:比如,有三个台阶。**[1,1,1]**代表,我们每次走一个台阶,完成这个任务。**[1,2]**代表,先...

weixin_39586825的博客 1049

爬楼梯 python_Python3爬楼梯算法示例

本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。方案一:每一步都是前两步和前一步的和class Solution(object):def climbStairs(self, n):""":type n: int:rtype: in...

weixin_39850787的博客 283

python小明爬楼梯_Python3爬楼梯算法示例

本文实例讲述了Python3爬楼梯算法。分享给大家供大家参考,具体如下:假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。方案一:每一步都是前两步和前一步的和class Solution(object):def climbStairs(self, n):""":type n: int:rtype: in...

weixin_39625172的博客 1344

java 爬楼梯算法_9.1 爬楼梯

:-: 9.1 爬楼梯* * * * ***题干:**假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:~~~输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶~~~示例 2:~~~输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 ...

weixin_33851300的博客 1201
上一篇: Springboot整合thymeleaf
下一篇: 算法--相同的树
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值