一只青蛙一次可以跳上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级的台阶总共有多少种跳法。