陈旺


私信TA

用户名:cw0824ly

访问量:9695

签 名:

等  级
排  名 121
经  验 7543
参赛次数 2
文章发表 61
年  龄 18
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

import java.util.Scanner;


public class 爬楼梯 {

	/**
	 * @param args
	 */
	static int book [];//备忘录
	public static void main(String[] args) {
		// TODO Auto-generated method stub
      // 一次爬1 或者 3
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		book=new int[n+1];//备忘录
		System.out.println(dg(n));
		
	}

	private static int dg(int n) {
		// TODO Auto-generated method stub
		if (n==1||n==2) {//当1阶或者2阶楼梯时  那么只有一种方法
			return 1;
		}
		if (n==3) {//当 3阶时  要么是1+1+1 要么是 3  所以两种方法
			return 2;
		}
		else if(book[n]==0){//初始值为0
			book[n]=dg(n-1)+dg(n-3);//倒推 当前可以阶梯是 由n-1阶 或者 n-3阶
			return book[n];
		}
		else {
			return book[n];
		}
	}

}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区