爬楼梯Java 爬楼梯
假设你现在正在爬楼梯,楼梯有 nn 级。每次你只能爬 11 级或者 22 级,那么你有多少种方法爬到楼梯的顶部?
第一行输入一个整数 n(1≤n≤50)n(1≤n≤50),代表楼梯的级数。
输出爬到楼梯顶部的方法总数。
5
8
关键在于保存每次的计算状态,减少重复计算
import java.util.*;
class Main{
static int a[];
public static int f(int k){
if(k==1||k==0){return 1;}
if(k>1){
if(a[k-2]==0){
a[k-2]=f(k-2);
return f(k-1)+f(k-2);
}
return f(k-1)+a[k-2];}
return 0;
}
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int q=input.nextInt();
a=new int[q];
System.out.print(f(q));
}
}
本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com