<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>
走楼梯 递归 动态规划
最新推荐文章于 2024-04-30 21:38:57 发布