题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

思路

  • n=1时,只有1种跳法
  • n=2时,只有2种跳法
  • n=3时,只有3种跳法
  • n=4时,只有5种跳法
  • ···· ·····
  • 当n=n时,只有f(n-1)+f(n-2)种跳法,满足斐波那契数列

代码

 1public class Solution {
 2    public int JumpFloor(int target) {
 3        if(target == 1)
 4            return 1;
 5        if(target == 2)
 6            return 2;
 7        int a = 1;
 8        int b = 2;
 9        int sum = a + b;
10        for(int i=3;i<=target;i++)
11        {
12            sum = a + b;
13            a = b;
14            b = sum;
15        }
16        return sum;
17    }
18}