一,问题描述
1,有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上M级,共有多少走法?其中M取值范围为1~100,结果值需要Mod 1000000007的值。
例如 输入 3
输出 2
输入 100
输出687995182
2,解题思路
这题是斐波拉契问题,即f(n)=f(n-1)+f(n-2)。如果使用递归的时候,n取100时,会超时。因此,我们使用动态规划方法来做。
二,AC了的程序
import java.util.*;
public class Test2{ //京东的编程题
public int countWays(int n)
{
if(n<1)//如果取值范围为-1,则直接返回-1.
{
return -1;
}
int []data=new