一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
青蛙跳台阶可以转化为一个数学问题,这就是斐波拉契数列问题,只要是这种类型的问题都可以这样求解
求斐波那契数列的第 n 项,n <= 39。
我们可以用 21 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 21 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法?
深度截图_选择区域_20190507201101.png
深度截图_选择区域_20190507201753.png
这道题可以用递归求解,会方便对题目的理解 ,但是要是采用递归的话会导致空间的浪费。很多时候都会限制空间,所采用动态规划
代码如下
public class jump {
public static void main(String[] args) {
jump j=new jump();
int q=j.myjump(5);
System.out.println(q);
}
public int myjump(int n){
if (n<=2)
return n;
int pre2=1;
int pre1=2;
int re=1;
for (int i=2;i
re=pre1+pre2;
pre2=pre1;
pre1=re;
}
return re;
}
}