剑指offer 跳台阶
2016-04-14 12:18
288 查看
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
/** * 第n阶,有两种跳法,从n-1跳上来,或者从n-2跳上来 * f(n)=f(n-1)+f(n-2) * f(1) = 1; * f(2) = 2; * * @param target * @return */ public int JumpFloor(int target) { if (target < 1) { return 0; } if (target == 1) { return 1; } if (target == 2) { return 2; } int fx = 1; int fy = 2; int fn = 0; for (int i = 3; i <= target; ++i) { fn = fy + fx; fx = fy; fy = fn; } return fn; }
相关文章推荐
- java实现斐波那契数列的3种方法
- java数学归纳法非递归求斐波那契数列的方法
- C++输出斐波那契数列的两种实现方法
- 求斐波那契(Fibonacci)数列通项的七种实现方法
- 斐波那契数列
- OJOJ:斐波那契数列的实现——递归与非递归实现
- 数学公式
- 跳台阶问题
- Go语言学习笔记(练习) - 斐波那契数列
- leetcode 虐我篇之(二十一)Climbing Stairs
- 青蛙跳台阶解法 时间复杂度O(n) 空间复杂度O(1)
- 斐波那契数列及相关问题
- 关于斐波那契数列的复杂度最低算法
- 超级台阶
- 矩阵乘法求斐波那契数列
- Tyvj专题 P1337 fibonacci数列
- HDOJ 2044 一只小蜜蜂
- 简单算法之—斐波那契数列
- java编程:三种方法实现斐波那契数列
- 斐波那契数列的算法实现 —— python