首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >青蛙跳台阶的非递归和递归做法

青蛙跳台阶的非递归和递归做法

作者头像
景画
发布2025-12-19 13:38:54
发布2025-12-19 13:38:54
220
举报

一.问题:

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

二.递归做法:

核心关键:1>找底层逻辑值;2>找限制条件;3>简化

1.由图可以看出:剩n个台阶时我们有fib(n)种跳法

2.我们从起步开始分析:

--刚开始起步跳有两种跳法-->跳一个台阶and跳两个台阶

3.当选择初始跳一个台阶时我们会发现:剩n-1个台阶,也就是fib(n-1)种跳法

4.当选择初始跳两个台阶时:剩n-2个台阶,也就是fib(n-2)跳法

*5.底层逻辑:

-->n = 1时有一种跳法:一次跳一个-->fib(1) = 1;

-->n = 2时有两种跳法:一次跳一个跳两次一个and一次跳两个-->fib(2) = 2;

6.简化问题:找出两种跳法后相加即是总跳法数:fib(n) = fib(n-1) + fib(n-2);

代码以及效果图:

二.非递归做法:

核心关键:-->找规律

1.

n

1

2

3

4

5

6

7

8

9

fib(n)

1

2

3

5

8

13

21

34

55

2.可以看出:1+2 = 3;2+3 = 5;3+5 = 8;

*3.即从第三级台阶开始,前两数相加等于后面数,前两节依旧特殊情况

代码以及效果图:

三.总结

递归方法:一定要找到底层值,找到底层逻辑相当于知道了限制条件,再分化简化

非递归方法:一定要找规律,找不到规律很难想到

四.完结撒花

希望对你解决这道题有帮助,加油!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.问题:
  • 二.递归做法:
    • 核心关键:1>找底层逻辑值;2>找限制条件;3>简化
      • 代码以及效果图:
  • 二.非递归做法:
    • 核心关键:-->找规律
      • 代码以及效果图:
  • 三.总结
  • 四.完结撒花
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档