毫无疑问,递归是最好用的解题方案,像n的阶乘,斐波那契数列,跳格子,走梯子等经典问题,接下来让我来给大家看几个递归调用的经典例子吧!
蓝桥杯真题–跳格子
问题描述的大概意思就是让我们从第一个格子跳到最后一个格子,并且跳的过程中必须组成一段话,问有几种跳法,
代码实现
public class Test01 {
public static void main(String[] args) {
int count = f(0,0);
System.out.println(count);
}
public static int f(int i,int j) {
if(i==3 || j==4) {
return 1;
}
return f(i,j+1)+f(i+1,j);
}
}
斐波那契数列
然后在看一下斐波那契数列的递归解法,
public class Test01 {
public static void main(String[] args) {
int count = f(35);
System.out.println(count);
}
public static int f(int i) {
if(i==0) {
return 0;
}
if(i==1) {
return 1;
}
return f(i-1)+f(i-2);
}
}