//青蛙跳台阶 循环法
public static void main(String[] args){
System.out.println(func(5));
}
public static int func(int n){
int f1 = 1;
int f2 = 2;
int f3 = 0;
if(n == 1||n == 2){
return n;
}
for(int i = 3;i <= n;i++){
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f3;
}
//青蛙跳台阶 递归法
public static void main(String[] args){
System.out.println5(func(3));
}
public static int func5(int n){
if(n == 1||n == 2){
return n;
}else {
return func5(n-1) + func5(n-2);
}
}
本文详细解析了经典的青蛙跳台阶问题,提供了两种解决方案:一种是循环法,通过迭代计算出青蛙跳到第n个台阶的方法数量;另一种是递归法,直接通过递归调用求解。两种方法都基于动态规划思想,适用于算法初学者理解递归和循环的应用。
1887

被折叠的 条评论
为什么被折叠?



