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

Posted 假的工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。相关的知识,希望对你有一定的参考价值。

import java.util.HashMap;

//一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
public class Solution {
    
    //方法一:递归求解
    public static int JumpFloor1(int n) {
        if(n<1){
            return 0;
        }
        if(n==1){
            return 1;
        }
        if(n==2){
            return 2;
        }
        return JumpFloor1(n-1)+JumpFloor1(n-2);

    }
    
    //方法二:备忘录算法
    public static int JumpFloor2(int n,HashMap<Integer,Integer> map) {
        if(n<1){
            return 0;
        }
        if(n==1){
            return 1;
        }
        if(n==2){
            return 2;
        }
        
        if(map.containsKey(n)){
            return map.get(n);
        }else{
            int value=JumpFloor2(n-1, map)+JumpFloor2(n-2, map);
            map.put(n, value);
            return value;
        }
    }
    
    //方法三:动态规划求解
    
    
    
    public static void main(String[] args){
        HashMap map=new HashMap();
        System.out.println(Solution.JumpFloor1(40));
        System.out.println(Solution.JumpFloor2(40,map));
        
        
    }

}

 

以上是关于一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。的主要内容,如果未能解决你的问题,请参考以下文章

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

青蛙跳台阶

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

青蛙跳台阶问题

跳台阶

剑指Offer变态跳台阶