【剑指Offer】跳台阶
来源:互联网 发布:google 高程提取软件 编辑:程序博客网 时间:2024/05/16 08:11
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路
递归,由上一步到这一步青蛙跳了一级或跳了两级,当前台阶数为n,那跳n级台阶的方法数就是问跳n-1和跳n-2级楼梯方法数相加。由此可看出,这是一个斐波那契数列。
结束条件就是当n=1时,只有一种方法(跳一级);n=0时,0种方法;当n=2时,有两种方法(一次跳一级,跳两次;一次直接跳两级)
代码实现
class Solution {public: int jumpFloor(int number) { if (number == 0){ return 0; } if (number == 1){ return 1; } if (number == 2){ return 2; } return jumpFloor(number - 1) + jumpFloor(number - 2); }};
2 0
- 剑指offer-跳台阶
- 【剑指offer】跳台阶
- 剑指offer--跳台阶
- 《剑指offer》跳台阶
- 剑指Offer-跳台阶
- 《剑指offer》跳台阶
- 剑指 offer:跳台阶
- 【剑指Offer】跳台阶
- 剑指offer 跳台阶
- 剑指offer--跳台阶
- 剑指offer 跳台阶
- 《剑指offer》跳台阶
- 剑指offer-跳台阶
- 剑指offer----跳台阶
- 剑指Offer:跳台阶
- 《剑指Offer》 跳台阶
- 剑指offer--跳台阶
- [剑指offer] 跳台阶
- Opencv双边滤波器-bilateralFilter函数
- Ember.js 入门指南——handlebars显示对象的键(未完待续)
- sox和lame音频处理器
- Opencv图像非线滤波-滚动条
- 安卓中Bitmap的处理
- 【剑指Offer】跳台阶
- Opencv图像线性滤波-滚动条
- android 状态栏一体化实现
- Cocos2d-x开发系列 创建C++工程、项目架构、设计模式的选择、适配策略、高清标清处理
- UVALive 3938 Ray, Pass me the dishes (线段树区间合并)
- 链表的实现
- 互联网产品设计
- 在版本低于android21下使用material progressbar风格的进度条
- 使用ios的成员函数进行格式化输入和输出