超级台阶-动态规划
2016-05-26 11:43
162 查看
描述
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?
注:规定从一级到一级有0种走法。
输入
输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。
输出
对于每个测试实例,请输出不同走法的数量。
样例输入
2
2
3
样例输出
1
2
package com.lulu.dp;
import java.util.Scanner;
public class TaiJie {
static int []a;//做标记,避免在计算过程中重复计算。
/**
* @param args
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n-- > 0)
{
int m = in.nextInt();
a = new int[m+1];
for(int i = 0; i <= m; i++)
{
a[i] = -1;
}
System.out.println(dp(m));
}
}
private static int dp(int m) {
//限定边界
if(m <= 1)
return 0;
if(m== 2)
return a[m] = 1;
if(m == 3)
return a[m] = 2;
//做标记数组,如果已经计算过就不再进行计算。
if(a[m] != -1)
return a[m];
//递推式:当为M阶时,共有方法数a[m]由后面的方法数的和决定。
return a[m] = dp(m-1)+dp(m-2);
}
}
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?
注:规定从一级到一级有0种走法。
输入
输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。
输出
对于每个测试实例,请输出不同走法的数量。
样例输入
2
2
3
样例输出
1
2
package com.lulu.dp;
import java.util.Scanner;
public class TaiJie {
static int []a;//做标记,避免在计算过程中重复计算。
/**
* @param args
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n-- > 0)
{
int m = in.nextInt();
a = new int[m+1];
for(int i = 0; i <= m; i++)
{
a[i] = -1;
}
System.out.println(dp(m));
}
}
private static int dp(int m) {
//限定边界
if(m <= 1)
return 0;
if(m== 2)
return a[m] = 1;
if(m == 3)
return a[m] = 2;
//做标记数组,如果已经计算过就不再进行计算。
if(a[m] != -1)
return a[m];
//递推式:当为M阶时,共有方法数a[m]由后面的方法数的和决定。
return a[m] = dp(m-1)+dp(m-2);
}
}
相关文章推荐
- 【一天一道LeetCode】#36. Valid Sudoku
- Sqlserver 2012 导入大文件sql
- java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support4/content/ContextCompat;
- 关于java按位操作运算
- 动态规划(1)
- node
- 勇敢爱
- 极光消息推送工具类
- Sorting Railway Cars
- 渐进记号的相关证明
- JAVA - Comparable接口 与 Comparator接口
- Redis与Memcached的区别
- Python操作Mysql
- 3DES加密,java后台,安卓,iOS三端加密解密
- AchartEngine折线图
- C#中随机分组相关Test
- iOS开发——keychain的使用
- JAVA集合框架
- Unity3D实现3D立体游戏原理及过程
- ashx页面中context.Session["xxx"]获取不到值的解决办法