【剑指Offer】:跳台阶
来源:互联网 发布:网络用语奥义很爽 编辑:程序博客网 时间:2024/05/16 12:15
一:题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
二:解题分析
第n个台阶可以由第n-1个台阶到达,也可以由第n-2个台阶到达 即f(n)=f(n-1)+f(n-2)
很明显的递归问题
现在已经知道了递归的函数,接下来要做的就是,知道递归到最后两个的函数值
f(1)=1 第一个台阶只能有一种方式到达 f(2)=2 第二个台阶由2种方式可以到达
当然递归的方法也可以写成非递归的形式,用数组存放到达第一个,第二个,...,第n个台阶的跳法,节省时间
三:代码实现
递归的方式:
class Solution {public: int jumpFloor(int number) { //递归的解决方案 if(number==1) return 1; if(number==2) return 2; return jumpFloor(number-1)+jumpFloor(number-2);};
非递归的方式:
class Solution {public: int jumpFloor(int number) { //非递归的方法 //定义一个vector 每一位保存到达当前位置有都少种跳法 vector<int> numOfMethod; numOfMethod.push_back(0);//为了下标与台阶数对应 numOfMethod.push_back(1); numOfMethod.push_back(2); int i; for(i=3;i<=number;i++) numOfMethod.push_back(numOfMethod[i-1]+numOfMethod[i-2]); return numOfMethod[number]; }};
阅读全文
0 0
- 剑指offer-跳台阶
- 【剑指offer】跳台阶
- 剑指offer--跳台阶
- 《剑指offer》跳台阶
- 剑指Offer-跳台阶
- 《剑指offer》跳台阶
- 剑指 offer:跳台阶
- 【剑指Offer】跳台阶
- 剑指offer 跳台阶
- 剑指offer--跳台阶
- 剑指offer 跳台阶
- 《剑指offer》跳台阶
- 剑指offer-跳台阶
- 剑指offer----跳台阶
- 剑指Offer:跳台阶
- 《剑指Offer》 跳台阶
- 剑指offer--跳台阶
- [剑指offer] 跳台阶
- substance——java窗口的皮肤初使用
- 使用redisTemplete简单封装的一个通用操作类
- JS异步之Thunk函数
- yii2框架在php swoole和nginx + php-fpm下的性能测试
- petalinux 启动image.ub属性验证
- 【剑指Offer】:跳台阶
- Shell脚本知识点
- 点击按钮一次,多次请求的问题
- Go语言并发与并行学习笔记(二)
- EXT4 之 Android 文件系统剖析
- LeetCode 529 Minesweeper (BFS)
- Java注解(转载)
- IEEE-754 浮點數的表示法
- 数据库三大范式详解