Java学习手册:(数据结构与算法-递归)一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?
算法思想:
(1)只有一层楼梯,有1种方法,即 f(1) = 1;
(2)有两层楼梯,有2种方法,即 f(2) = 2;
(3)有三层楼梯,a、如果第一步爬一层,后面还有两层楼梯未爬,有2种方法,即f(2);b、如果第一步爬两层,后面还有一层未爬,有一种方法,即f(1);因此,总共有3种方法,即f(3) = f(2) + f(1) = 3;
(4)有四层楼梯,a、如果第一层爬一层,后面还有三层未爬,总共有3种方法,即f(3);b、如果第一层爬两层,后面还有两层未爬,总共有2种方法,即f(2);因此,总共有5种方法,即f(4) = f(3) + f(2) = 5;
....(以此类推)
(n)有n层楼梯,a、如果第一层爬一层,后面还有(n-1)层未爬,总共有f(n-1)种方法;b、如果第一层爬两层,后面还有(n-2)层未爬,总共有f(n-2)种方法;因此,总共有 f(n-1) + f(n-2) 种方法,即f(n) = f(n-1) + f(n-2) ;
import java.util.Scanner;
/** 一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?*/
public class Test2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(Step(n));sc.close();}//采用递归的方法public static int Step(int n) {if(n <= 0) {return 0;}if(n == 1) {return 1;}if(n==2) {return 2;}else {return Step(n-1) + Step(n-2);}}
}
Java学习手册:(数据结构与算法-递归)一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?相关推荐
- Java 数据结构和算法 - 递归
Java 数据结构和算法 - 递归 什么是递归 背景:数学归纳法证明 基本递归 printing numbers in any base 它为什么有效 如何工作 递归太多是危险的 树 数值应用 模幂运 ...
- 一般项目中哪里体现了数据结构_优秀程序员都应该学习的数据结构与算法项目(GitHub 开源清单)...
前言 算法为王. 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手:只有内功深厚者,前端之路才会走得更远. 强烈推荐 GitHub 上值得前端学习的数据结构与算法项目,包含 gif ...
- GitHub 上值得前端学习的数据结构与算法项目
Hello,大家好,我是你们的 前端章鱼猫. 简介 前端章鱼猫从 2016 年加入 GitHub,到现在的 2020 年,快整整 5 个年头了. 相信很多人都没有逛 GitHub 的习惯,因此总会有开 ...
- 汇智动力学院——Java 浅谈数据结构和算法
以前不管自己还是朋友在面试java工程师岗位的时候,都会被问到这样的问题: "介绍下java中的数据结构和算法", 很多朋友被问到的时候发现无从下口,甚至特别是一些初级java工程 ...
- 学习JavaScript数据结构与算法(一):栈与队列
本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...
- es6 数组排序_重读《学习JS数据结构与算法-第三版》- 第3章 数组 二
定场诗 守法朝朝忧闷,强梁夜夜欢歌:损人利己骑马骡,正值公平挨饿:修桥补路瞎眼,杀人放火儿多:我到西天问我佛,佛说:我也没辙! 前言 读<学习JavaScript数据结构与算法>- 第3章 ...
- 《学习JavaScript数据结构与算法》第三章 数组
文章目录 前言 一.创建 && 初始化数组 二.操作数组 push-添加元素于末尾 unshift-添加元素于开头 pop-从数组末尾开始删除元素 shift-从数组开头开始删除元素 ...
- 读《学习JavaScript数据结构与算法》 第二章
第二章 ECMAScript和TypeScript概述 文章目录 第二章 ECMAScript和TypeScript概述 前言 一.let const 二.模板字面量 支持换行 拼接方式 三.函数的默 ...
- 重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)
定场诗 伤情最是晚凉天,憔悴厮人不堪言: 邀酒摧肠三杯醉.寻香惊梦五更寒. 钗头凤斜卿有泪,荼蘼花了我无缘: 小楼寂寞新雨月.也难如钩也难圆. 前言 本章为重读<学习JavaScript数据结构 ...
最新文章
- Android 扫描二维码demo
- 摄像机域内监督行人重识别问题
- 颠覆智能手机的下一代设备已出现?
- 你用Deepfakes给小电影换个脸,人脸识别AI也看不出来:95%萌混过关
- non linear processor
- 【Python实例第7讲】真实数据集的异常检测
- pandas.DataFrame对行和列求和及添加新行和列
- Java爬虫Jsoup篇
- 6种最好的图片无损压缩工具
- 移动计算的未来:是什么在推动变革? | 幂集创新
- 如何使用dd工具进行磁盘读写性能测试
- 历年奥斯卡获奖影片(1927—2015)
- 在OpenCV里车牌识别的方法1
- 在蚂蚁金服工作是一种什么体验
- QuartusII9.0--项目文件的新建
- 如何用Android Stuido 调用百度翻译的API
- doom3 entitydef实体定义
- 用计算机连接路由器,怎样连接路由器和电脑_电脑怎么链接路由器-系统城
- unity汤姆猫自动检测录音,不说话自动播放
- pip或pip3安装报错Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming。。。