本文主要是介绍走楼梯 递归 动态规划,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<span style="font-size:18px;">/*** * @author admin* 一个楼梯有20级,每次走一级或两级,从底走到顶,一共有多少种走法* 递归 动态规划*/
public class Floor {public static void main(String[] args) {int n=20;System.out.println(computer(n)); //方法1 递归System.out.println(computer2(n,0)); // 方法2 递归 computer3(n); //方法3 动态规划}public static int computer(int n) // 递归1{if(n==0||n==1){return 1;}else{return computer(n-1)+computer(n-2);}}public static int computer2(int n,int t) // 递归2{if(n==0||n==1){t++;return t;}for (int i = 1; i <= 2; i++) {t=computer2(n-i,t);}return t;}public static void computer3(int n) //动态规划{int[] arr=new int[20];arr[0]=1;arr[1]=2;for (int i = 2; i < arr.length; i++) {arr[i]=arr[i-1]+arr[i-2];}System.out.println(arr[n-1]);}}
</span>
这篇关于走楼梯 递归 动态规划的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!