剑指Offer 跳台阶

Posted wjq2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer 跳台阶相关的知识,希望对你有一定的参考价值。

  题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

  题目链接:跳台阶

  思路:类似于斐波那契序列,跳上第n(n>3)级台阶,之前最后一步跳1级或2级。

  步骤:

  1 如果台阶级数n<=2,则返回n。

  2 根据f(n)=f(n-1)+f(n-2),计算结果并返回。

  Java代码:

 1 public class Solution {
 2     public int JumpFloor(int target) {
 3         if (target == 1 || target == 2) {
 4             return target;
 5         }
 6         
 7         // a是f(n-1),b是f(n-2)
 8         int a = 2, b = 1, c = 0;
 9         for (int i = 3; i <= target; i++) {
10             c = a + b;
11             
12             b = a;
13             a = c;
14         }
15         
16         return c;
17     }
18 }

 

以上是关于剑指Offer 跳台阶的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer:变态跳台阶

剑指Offer 跳台阶

剑指offer 变态跳台阶

剑指offer 跳台阶

剑指offer:跳台阶

剑指OFFER变态跳台阶