news 2026/6/10 17:24:16

可视化图解算法73:跳台阶(爬楼梯)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
可视化图解算法73:跳台阶(爬楼梯)

1.题目

描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

数据范围:1 ≤n≤40

要求:时间复杂度:O(n) ,空间复杂度: O(1)

示例1

输入:

2

返回值:

2

说明:

青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2

示例2

输入:

7

返回值:

21

2. 题解思路

本题的关键是套用动态规划的模板,对问题进行拆解。

具体思路是:

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1375303https://www.bilibili.com/cheese/play/ep1375303

  • Java版本:https://www.bilibili.com/cheese/play/ep1368282https://www.bilibili.com/cheese/play/ep1368282

  • Golang版本:https://www.bilibili.com/cheese/play/ep1368729https://www.bilibili.com/cheese/play/ep1368729

3.编码实现

核心代码:

func jumpFloor(number int) int { if number == 1 { return 1 } //1.定义状态. i:第i个台阶; dp[i]:跳到第i个台阶的跳法 dp := make([]int, number+1) //2.初始化边界条件: dp[1]=1,即第一个台阶只有1种跳法;dp[2]=2,即第二个台阶有2种跳法; dp[1] = 1 dp[2] = 2 //3.确定递推公式: dp[i]=dp[i-1]+dp[i-2] for i := 3; i <= number; i++ { //到第i个台阶有2种方法:从第 i-1跳上来,或者从第 i-2跳上来 dp[i] = dp[i-1] + dp[i-2] } //4.输出结果 return dp[number] }

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1375303https://www.bilibili.com/cheese/play/ep1375303

  • Java版本:https://www.bilibili.com/cheese/play/ep1368282https://www.bilibili.com/cheese/play/ep1368282

  • Golang版本:https://www.bilibili.com/cheese/play/ep1368729https://www.bilibili.com/cheese/play/ep1368729

4.总结

本题是动态规划的经典题目,重点在于理解动态规划的解题思路。对于第i个台阶,只能从i-1或者i-2个台阶跳上来,因此递推公式是:dp[i] = dp[i - 1] + dp[i - 2]。

《数据结构与算法》深度精讲课程正式上线啦!7 大核心算法模块全解析:

✅ 链表

✅ 二叉树

✅ 二分查找、排序

✅ 堆、栈、队列

✅ 回溯算法

✅ 哈希算法

✅ 动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:https://www.bilibili.com/cheese/play/ss897667807https://www.bilibili.com/cheese/play/ss897667807

  • Java编码实现:https://www.bilibili.com/cheese/play/ss161443488https://www.bilibili.com/cheese/play/ss161443488

  • Golang编码实现:https://www.bilibili.com/cheese/play/ss63997https://www.bilibili.com/cheese/play/ss63997

对于LeetCode数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:燕赵多佳人,美者颜如玉。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 17:21:22

【毕业设计】基于Spring Boot的会议预定管理系统的设计与实现基于springboot高校会议室预订管理系统(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/5 13:41:16

SpellCraft加密工具架构解析与实战指南

项目速览 【免费下载链接】Abracadabra Abracadabra 魔曰&#xff0c;下一代文本加密工具 项目地址: https://gitcode.com/gh_mirrors/abra/Abracadabra SpellCraft是一款革命性的短文本加密工具&#xff0c;通过创新的多层加密架构&#xff0c;将普通内容转换为高度伪装…

作者头像 李华
网站建设 2026/6/9 18:11:17

京东金榜年度金奖出炉 京东JD FASHION爆款商品强势登榜

【大力财经】12月9日&#xff0c;2025京东金榜盛典于上海举行&#xff0c;正式揭晓2025年度获奖榜单。活动现场&#xff0c;京东JD FASHION多款产品斩获重磅奖项&#xff0c;伯希和冲锋衣裤、耐克跑步鞋、阿迪达斯运动休闲鞋、波司登男士羽绒服、海澜之家男士T恤、高梵女士羽绒…

作者头像 李华
网站建设 2026/6/10 13:52:16

终极指南:如何快速上手OpenAI一致性模型实现高效图像生成

终极指南&#xff1a;如何快速上手OpenAI一致性模型实现高效图像生成 【免费下载链接】diffusers-ct_imagenet64 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-ct_imagenet64 一致性模型&#xff08;Consistency Models&#xff09;作为生成式AI领域…

作者头像 李华
网站建设 2026/6/10 17:19:51

39、C 源代码编译软件入门指南(上)

C 源代码编译软件入门指南(上) 1. 常见文件类型 在软件编译过程中,我们会遇到各种类型的文件,常见的有: - 源代码文件 :以 .c 、 .h 或 .cc 结尾。C 源代码文件可能出现在包目录的任何位置。C++ 源代码文件通常以 .cc 、 .C 或 .cxx 为后缀。 - 目标文…

作者头像 李华
网站建设 2026/6/10 17:07:06

MOSES分子生成基准测试平台:AI药物发现的终极解决方案

MOSES分子生成基准测试平台&#xff1a;AI药物发现的终极解决方案 【免费下载链接】moses 项目地址: https://gitcode.com/gh_mirrors/mo/moses 在药物研发的漫长旅程中&#xff0c;科学家们面临着一个巨大挑战&#xff1a;如何从数以亿计的潜在分子中快速筛选出有效候…

作者头像 李华