跳台阶

题目描述

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

示例1

输入

1

返回值

1

示例2

输入

4

返回值

5

解决思路

就是个斐波那契数列,代码如下:

public class Solution {
    public int JumpFloor(int target) {
        
        if(target <= 1){
            return 1;
        }
        
        return JumpFloor(target-1) + JumpFloor(target-2);
        
    }
}

也可以使用非递归实现,效率比较高:

public class Solution {
    public int JumpFloor(int target) {
        
        if(target  <= 1){
            return 1;
        }
        
        int m = 1, n = 1;
        
        for(int i = 2; i <= target; i++){
            int t = m + n;
            m = n;
            n = t;
        }
        
        return n;
        
    }
}

相关文章:

  • 2021-10-24
  • 2022-01-01
  • 2021-04-07
  • 2022-01-12
  • 2021-12-17
  • 2022-12-23
  • 2021-06-10
  • 2021-04-11
猜你喜欢
  • 2022-01-16
  • 2021-07-27
  • 2021-10-31
  • 2021-09-05
  • 2021-10-06
  • 2021-07-11
  • 2022-01-06
相关资源
相似解决方案