爬楼梯/青蛙跳台阶,不会还有人不会吧
讲真的,我不会。我好菜。。。。。。。
想做这道题,首先要理解递归-递归-递归-递归,然后所有问题迎刃而解了,相信我
一篇把递归安排的明明白白:https://blog.csdn.net/guoqi_666/article/details/120054085
和leetcode70 爬楼梯同一个问题
问题描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
找递推关系:
1)跳一阶,就一种方法
2)跳两阶,它可以一次跳两个,也可以一个一个跳,所以有两种
3)三个及三个以上,假设为n阶,青蛙可以是跳一阶来到这里,或者跳两阶来到这里,只有这两种方法。
它跳一阶来到这里,说明它上一次跳到n-1阶,
同理,它也可以从n-2跳过来
f(n)为跳到n的方法数,所以,f(n)=f(n-1)+f(n-2)
直接上代码,拿去即可运行:
public class Frog {public static void main(String[] args) {System.out.println(f(10));}public static int f(int n) {//经过分析,f(2)=2也是一个临界条件。if (n <= 2) {return n;}return f (n - 1) + f(n - 2);}
}
我要刷100道算法题,第48道
爬楼梯/青蛙跳台阶,不会还有人不会吧相关推荐
- 图解推导爬楼梯(跳台阶)问题详细过程
1,题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数., 2,递推公式(状态转移方程)推导 ...
- 70.青蛙跳台阶(爬楼梯)
青蛙跳台阶 1.题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 2.思路 动态规划,问题转化为斐波那契数列问题,f(0 ...
- 青蛙跳台阶的问题——Fibonacci
转载自 青蛙跳台阶的问题--Fibonacci 这几天正在复习算法,今天在看一篇文章时偶然看到这个题目,想了一下居然没什么思路--(抱歉,实在太菜.),文章中提示了一个关键词:Fibonacci ...
- 动态规划入门青蛙跳台阶问题
0 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...
- 【C递归和迭代】兔子繁殖问题、青蛙跳台阶问题和汉诺塔问题
⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏+留言 ⭐系列专栏:C语言初阶 ⭐代码仓库:C Advanced 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们 ...
- 青蛙跳台阶:我如何得知它是一道斐波那契数列题?——应用题破题“三板斧”
本文以C语言实现. 目录 前言 一.斐波那契阿数列基础知识 二.引例:青蛙跳台阶 三.破题分析:举例归纳 1. 三板斧的使用 举例 模拟(必要时画图) 找规律 2. 代码展示 四.拓展用例:矩形覆盖问 ...
- 【剑指 Offer 46. 把数字翻译成字符串】【剑指 Offer 10- II. 青蛙跳台阶问题】【198. 打家劫舍】【动态规划】
青蛙跳台阶,打家劫舍,字母相同编码三道题思路总结 总结我自己思路的,写的不详细,想看详细的可以跳转到我加的链接,都是力扣上同一个人写的题解,很厉害. 字符串翻译数字 字符串翻译数字 当最后一位数字单独 ...
- 研究青蛙跳台阶问题区别函数递归与迭代
文章目录 前言 一.什么是青蛙跳台阶问题 二.使用递归和迭代(非递归)的区别 1.递归实现 2.迭代(非递归) 前言 青蛙跳台阶问题是函数递归的经典问题,也是求斐波那契数的变式,通过研究非递归(迭代) ...
- 自制青蛙跳台阶小游戏~
青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...
最新文章
- 2021年大数据常用语言Scala(三):Scala解释器
- qq邮箱高频率邮件来源自动屏蔽的信任办法
- es6 - 解构赋值
- 自研DevOps实践
- MybatisPlus条件构造器说明以及selectPage方法
- 修改Windows 7默认的软件安装路径
- 今天你们表现的真棒!!!
- react学习(13)-moment中 isRangePicker 控制类型
- 2017年回顾及总结
- My first project
- JSONArray.fromObject(list) list转json报错
- matlab中如何实现开关可调频率,如何设计利用数字控制的电压可调开关电源
- 免费国外PHP+MYSQL空间申请
- Matlab | 车辆路径规划应用实例(含源码)
- UOJ #454.【UER #8】打雪仗 通信题
- Git常用命令有哪些?
- linux性能分析工具总结(初级工具篇)
- 通信网与计算机网络的区别,计算机网络和计算机通信网络之间的本质区别是什么?...
- sled11 sp2 opensuse zypper usage fr net
- Ubuntu20.04裸机上配置单机 Pulsar2.7.0 成功并生产消费消息